如何配置
settings.py 文件中增加如下日志模块
python
"""logger 配置"""
LOGGING = {
'version': 1,
'disable_existing_loggers': False, # 是否去掉目前项目中其他地方中以及使用的日志功能,但是将来我们可能会引入第三方的模块,里面可能内置了日志功能,所以尽量不要关闭。
'formatters': {
'verbose': {
'format': '{asctime} {levelname} PID:{process:d} TID:{thread:d} {filename} line:{lineno} {funcName} {message}',
'style': '{',
},
'simple': {
'format': '{asctime} {levelname} {filename} {lineno} {message}',
'style': '{',
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
},
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, "application.log"), # 注意,你的文件应该有读写权限。
'maxBytes': 300 * 1024 * 1024, # 日志文件的最大值,这里我们设置300M
'backupCount': 10, # 日志文件的数量,设置最大日志数量为10
'formatter': 'verbose', # 日志格式:详细格式
'encoding': 'utf-8', # 设置默认编码,否则打印出来汉字乱码
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'filters': ['require_debug_false']
}
},
'loggers': {
'django': {
'handlers': ['console'],
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'application': {
'handlers': ['console', 'file'],
'level': 'INFO',
'filters': ['require_debug_true']
}
}
}
如何调用
python
import logging
logger = logging.getLogger("application")
logger.info("......")