Django框架 之 logging配置
Posted 高~雅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django框架 之 logging配置相关的知识,希望对你有一定的参考价值。
logging配置文件
# Django的日志配置项 BASE_LOG_DIR = os.path.join(BASE_DIR, "log") #配置路径 LOGGING = { \'version\': 1, # 保留字 \'disable_existing_loggers\': False, # 禁用已经存在的logger实例 # 日志文件的格式 \'formatters\': { # 详细的日志格式 \'standard\': { \'format\': \'[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]\' \'[%(levelname)s][%(message)s]\' }, # 简单的日志格式 \'simple\': { \'format\': \'[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s\' }, # 定义一个特殊的日志格式 \'collect\': { \'format\': \'%(message)s\' } }, # 过滤器 \'filters\': { \'require_debug_true\': { \'()\': \'django.utils.log.RequireDebugTrue\', }, }, # 处理器 \'handlers\': { # 在终端打印 \'console\': { \'level\': \'DEBUG\', \'filters\': [\'require_debug_true\'], # 只有在Django debug为True时才在屏幕打印日志 \'class\': \'logging.StreamHandler\', # \'formatter\': \'simple\' }, # 默认的 \'default\': { \'level\': \'INFO\', \'class\': \'logging.handlers.RotatingFileHandler\', # 保存到文件,自动切 \'filename\': os.path.join(BASE_LOG_DIR, "xxx_info.log"), # 日志文件 \'maxBytes\': 1024 * 1024 * 50, # 日志大小 50M \'backupCount\': 3, # 最多备份几个 \'formatter\': \'standard\', \'encoding\': \'utf-8\', }, # 专门用来记错误日志 \'error\': { \'level\': \'ERROR\', \'class\': \'logging.handlers.RotatingFileHandler\', # 保存到文件,自动切 \'filename\': os.path.join(BASE_LOG_DIR, "xxx_err.log"), # 日志文件 \'maxBytes\': 1024 * 1024 * 50, # 日志大小 50M \'backupCount\': 5, \'formatter\': \'standard\', \'encoding\': \'utf-8\', }, # 专门定义一个收集特定信息的日志 \'collect\': { \'level\': \'INFO\', \'class\': \'logging.handlers.RotatingFileHandler\', # 保存到文件,自动切 \'filename\': os.path.join(BASE_LOG_DIR, "xxx_collect.log"), \'maxBytes\': 1024 * 1024 * 50, # 日志大小 50M \'backupCount\': 5, \'formatter\': \'collect\', \'encoding\': "utf-8" } }, \'loggers\': { # 默认的logger应用如下配置 \'\': { \'handlers\': [\'default\', \'console\', \'error\'], # 上线之后可以把\'console\'移除 \'level\': \'DEBUG\', \'propagate\': True, # 向不向更高级别的logger传递 }, # 名为 \'collect\'的logger还单独处理 \'collect\': { \'handlers\': [\'console\', \'collect\'], \'level\': \'INFO\', } }, }
附:Python logger 流程图
以上是关于Django框架 之 logging配置的主要内容,如果未能解决你的问题,请参考以下文章