【发布时间】:2020-02-25 08:34:51
【问题描述】:
我遇到了一个问题,在我将格式化程序添加到 LOGGING 配置后到底发生了什么?日志文件为空。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{asctime} [{module}]:: {message}',
'style': '{',
},
'simple': {
'format': '{levelname} {message}',
'style': '{',
},
},
'handlers': {
'console':{
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'file.DEBUG': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'logs/debug.log',
'maxBytes' : 1024*1024*10,
'backupCount': 10,
'formatter':'verbose'
},
'file.INFO': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'logs/info.log',
'maxBytes' : 1024*1024*10,
'formatter':'verbose'
},
'file.ERROR': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': 'logs/error.log',
'maxBytes' : 1024*1024*10,
'backupCount': 10,
'formatter':'verbose'
},
},
'loggers': {
'django.request': {
'handlers': ['file.DEBUG'],
'level': 'DEBUG',
'propagate': True,
},
'django': {
'handlers': ['file.INFO'],
'level': 'INFO',
'propagate': True,
},
'django': {
'handlers': ['file.ERROR'],
'level': 'ERROR',
'propagate': True,
},
},
}
现在所有输出的调试文件都是空的,除了我用这段代码在视图上测试的错误文件
import logging
logger = logging.getLogger('django')
logger.info('tests')
logger.error('tests')
logger.debug('tests')
logger.debug('tests')
logger.error('tests')
logger.info('tests')
文件中只记录了错误,为什么会这样? 我正在使用 django 的新版本,即 2.2
更新 不知道我刚刚做了什么,但它现在可以工作了 这是我的新 LOGGING 设置
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{levelname} {asctime} [{module}]:: {message}',
'style': '{',
},
'simple': {
'format': '{levelname} {message}',
'style': '{',
},
},
'handlers': {
'file_debug': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'logs/debug.log',
'formatter':'verbose'
},
'file_error': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': 'logs/error.log',
'formatter':'verbose'
},
'file_info': {
'level': 'INFO',
'class': 'logging.FileHandler',
'filename': 'logs/info.log',
'formatter':'verbose'
},
},
'loggers': {
'django.server': {
'handlers': ['file_debug'],
'level': 'DEBUG',
'propagate': True,
},
'django': {
'handlers': ['file_error'],
'level': 'ERROR',
'propagate': True,
},
'django': {
'handlers': ['file_info'],
'level': 'INFO',
'propagate': True,
},
},
}
【问题讨论】:
标签: python django python-3.x logging