我试图配置django来捕获调试和信息日志消息。我有两个处理程序。但他们似乎只想捕获警告和错误消息。
有人可以帮助指出我可能犯过的愚蠢的错误,但无法弄清楚。
### DJANGO LOGGING
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters':{
'hc' : {
'format': '%(asctime)s %(levelname)s %(name)s\n%(message)s'
},
},
'handlers': {
'primary_log_handler':{
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': MAIN_LOG_FILE,
# 5MB file size
'maxBytes' : 5242880,
'encoding' : 'utf-8',
'backupCount' : 5,
'formatter' : 'hc'
},
'debug_log_handler':{
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': DEBUG_LOG_FILE,
# 5MB file size
'maxBytes' : 5242880,
'encoding' : 'utf-8',
'backupCount' : 5,
'formatter' : 'hc'
},
},
'loggers': {
'some_module': {
'handlers': ['primary_log_handler', 'debug_log_handler',],}
'some_other_module': {
'handlers': ['debug_log_handler',],},
},
}
此外,在实例化记录器时,我会这样做:
import logging
# Get an instance of a logger
logger = logging.getLogger(__name__)
然后在我的相关代码中:
logger.debug('debug')
logger.info('info')
logger.warning('warn')
logger.error('err')
关于Django 1.8和Python 2.7
答案 0 :(得分:3)
尝试在loggers
级别配置:
'loggers': {
'some_module': {
'handlers': ['primary_log_handler', 'debug_log_handler',],
'level': 'DEBUG'}
'some_other_module': {
'handlers': ['debug_log_handler',],
'level': 'DEBUG'},
},
答案 1 :(得分:1)
只需更改
'level': 'DEBUG'
到你想要的日志级别。
答案 2 :(得分:0)
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"handlers": {
"console": {"class": "logging.StreamHandler",},
"file": {
"level": "DEBUG",
"class": "logging.FileHandler",
"filename": "log.django",
},
},
"loggers": {
"some_module": {
"handlers": ["primary_log_handler", "debug_log_handler",],
"level": "DEBUG",
},
"some_other_module": {"handlers": ["debug_log_handler",], "level": "DEBUG"},
},
}
答案 3 :(得分:0)
可能已经晚了,但我遇到了同样的问题。检查配置中正确的 LOGGER_NAME 解决了它:
LOGGER_NAME = 'some_module.{}'
希望这对其他人有帮助。