金坛网站开发,中文网站建设模板下载,烟台网站建设力推企汇互联见效付款,中文官网资源目录 一、日志级别
二、日志配置
1、日志基本配置
2、日志配置字典#xff08;知道咋么改就可以#xff09;
3、日志的使用 一、日志级别
import logginglogging.debug(调试日志)
logging.info(消息日志)
logging.warning(警告日志)
logging.error(错误日志)
logging.cr…目录 一、日志级别
二、日志配置
1、日志基本配置
2、日志配置字典知道咋么改就可以
3、日志的使用 一、日志级别
import logginglogging.debug(调试日志)
logging.info(消息日志)
logging.warning(警告日志)
logging.error(错误日志)
logging.critical(严重错误日志)
注info 级别一下的日志不用输出只打印Warning级别以上的日志可以更改
二、日志配置
1、日志基本配置
# 日志基本配置
logging.basicConfig( # 默认编码方式gbk# 1、日志级别level30, # 用来控制输出级别30对应的是warning# DEBUG:10# INFO:20# WARNING:30# ERROR:40# CRITICAL:50# 2、日志输出格式format%(asctime)s %(name)s [%(pathname)s line:%(lineno)d] %(levelname)s %(message)s,# %(asctime)s 获取当前时间# % (name)s 当前日志的名字# %(pathname)s 指的是哪一个文件产生的日志# %(lineno)d 指的是文件的哪一行代码产生的日志# %(levelname)s 指的是文本形式的日志等级# 3、asctime的时间格式datefmt%Y %m %d %H:%M:%S,# 4、日志输出位置终端/文件filenameuser.log, # 不指定此配置默认打印到终端
) %(name)s Logger的名字(getlogger时指定的名字)
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出日志的完整路径名
%(filename)s 调用日志输出日志的文件名
%(module)s 调用日志输出日志的模块名
%(funcName)s 调用日志输出日志的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间,默认格式是 “2022 07 30 22:15:53,394”
%(thread)d 线程ID,可能没有
%(threadName)s 线程名,可能没有
%(process)d 进程ID,可能没有
%(message)s 用户输出的消息logging模块有三个比较重要的功能组件
1、loggers 配置文件可定义一些输出日志的appname
2、handler 配置日志的分隔大小,输出位置,日志文件创建等
3、formatters 配置日志输出的格式2、日志配置字典知道咋么改就可以
1需要将字典放在项目的settings.py里面图片中CtrlShift -号缩放 2解读
LOGGING_DIC {version: 1.0, # 版本根据个人修改disable existing loggers: False,# 日志格式,格斯根据需求自己更改或者命名formatters: {standard: {format: %(asctime)s %(threadName)s:%(thread)d [%(name)s] %(levelname)s [%(pathname)s:%(lineno)d] %(message)s,datefmt: %Y %m %d %H:%M:%S,},simple: {format: %(asctime)s [%(name)s] %(levelname)s %(message)s, datefmt: %Y %m %d %H:%M:%S,},test: {format: %(asctime)s %(message)s,},},filters: {}, # 过滤器# 日志处理器handlers: {console WARNING handler: {level: WARNING, # 日志处理的级别限制class: logging.StreamHandler, # 输出到终端formatter: simple # 日志格式},file info handler: {level: INFO,class: logging.handlers.RotatingFileHandler, # 保存到文件,日志轮转filename: user.log,maxBytes: 1024 * 1024 * 10, # 日志大小 10MbackupCount: 10, # 日志文件保存数量限制encoding: utf 8,formatter: standard,}, # 保存到文件file debug handler: {level: DEBUG,class: logging.FileHandler, # 保存到文件filename: test.log, # 日志存放的路径encoding: utf 8, # 日志文件的编码formatter: test,},file info_standard handler: {level: INFO, # 日志处理的级别限制class: logging.handlers.RotatingFileHandler,filename: zx.log,maxBytes: 1024 * 1024 * 10, # 日志大小 10MbackupCount: 10, # 日志文件保存数量限制encoding: utf 8,formatter: standard # 日志格式},: {level: INFO, # 日志处理的级别限制class: logging.handlers.RotatingFileHandler,filename: zx.log,maxBytes: 1024 * 1024 * 10, # 日志大小 10MbackupCount: 10, # 日志文件保存数量限制encoding: utf 8,formatter: standard # 日志格式}, # 在主文件中调用setting中没有配置的handler,就会调用没有名字的},# 日志记录器loggers: {logger1: { # 导入时logging.getLogger时使用的app namehandlers: [console WARNING handler], # 日志分配到哪个handlers中level: DEBUG, # 日志记录的级别限制propagate: False,# 默认为True向上更高级别的logger传递设置为False即可否则会一份日志向上层层传递},logger2: {handlers: [console WARNING handler, file debug handler],level: INFO,propagate: False,},logger3: {handlers: [file info_standard handler, file debug handler],level: INFO,propagate: False,},}
}
# 注进行日志轮转的日志文件不能和其他handler共用不然会导致文件被占用无法更名而报错
# logger 负责产生不同级别的日志然后将日志传给handlerhandler将logger产生的日志进行处理3、日志的使用
import settings
import logging.config # 可以导入logginglogging.config.dictConfig(settings.LOGGING_DIC) # 将配置字典加载进来# logger1 logging.getLogger(logger1)
# logger1.info(xxx登录了)
logger2 logging.getLogger(logger2)
logger2.warning(xxx充值了5毛钱)
(1)可以根据 日志记录器Logger 和 日志处理器Handler 的level参数对日志进行分类
比如 2没有名字的handler运用在主文件中调用setting中没有配置的handler,就会调用没有名字的
例
: {level: INFO, # 日志处理的级别限制class: logging.handlers.RotatingFileHandler,filename: zx.log,maxBytes: 1024 * 1024 * 10, # 日志大小 10MbackupCount: 10, # 日志文件保存数量限制encoding: utf 8,formatter: standard # 日志格式
}, 3日志的轮转就是日志的大小超过一定大小就重新命名
class: logging.handlers.RotatingFileHandler, # 保存到文件,日志轮转
filename: user.log,
maxBytes: 1024 * 1024 * 10, # 日志大小 10M
backupCount: 10, # 日志文件保存数量限制