1. 日志
1.1 日志说明
1.1 logging模块可以收集记录错误,警告等调试信息,在程序中可以捕获这些信息,甚至可以将错误的重要信息等通过邮件发送给开发者
1.2 logging的组成 - 四个主键
Loggers - 记录器 : 接收日志的入口
Handlers - 处理器: 处理日志并按照指定的格式去保存在指定的路径
Filters - 过滤器 : 过滤Loggers丢给Handlers的日志信息
Formatters - 格式器: 指定格式
日志级别 :
DEBUG:用于调试目的的底层系统信息
INFO:普通的系统信息
WARNING:表示出现一个较小的问题。
ERROR:表示出现一个较大的问题。
CRITICAL:表示出现一个致命的问题。
DEBUG < INFO < WARNING < ERROR < CRITICAL
1.2 设置日志
-
settings
中指定日志文件地址,并创建
# 指定日志文件地址
LOG_PATH = os.path.join(BASE_DIR, 'log')
# isdir判断是否为文件夹
if not os.path.isdir(LOG_PATH):
os.mkdir(LOG_PATH)
自动生成文件夹:
image.png
- 配置日志文件
# 配置日志文件信息
LOGGING = {
# version只能为1
'version': 1,
# disable_existing_loggers默认为True
'disable_existing_loggers': False,
# 日志格式
'formatters': {
# 设置名为simple的格式器
'simple': {
# 时间,进程,信息
'format': '%(created)s %(process)d %(message)s'
}
},
# 接收日志信息
'loggers': {
# 配置名为dj的记录器
'dj': {
# 指定handlers
'handlers': ['dj_handler'],
# 指定级别
'level': 'INFO',
}
},
'handlers': {
# 配置名为dj_handler的处理器
'dj_handler': {
# 大于DEBUG的都可以节省
'level': 'DEBUG',
# 指定存日志的形式: 超过5M进行切割备份
'class': 'logging.handlers.RotatingFileHandler',
# 文件存储地址
'filename': '%s/dj.log' % LOG_PATH,
# 存储方式
'formatter': 'simple',
# 文件最大值5M
'maxBytes': 1024 * 1024 * 5,
}
},
}
- 使用
import logging
logger = logging.getLogger('dj')
logger.info('strs')
image.png
网友评论