为管理命令添加了特定的日志记录器,而不仅仅是使用一个捕获所有日志记录器。
我有一个执行django-admin.py
命令的cron作业。有时这个命令会引发一个异常,我收到一封关于它的电子邮件。
电子邮件只包含异常的回溯。但我还想看看在那次运行中通过log.debug(...)
产生的所有东西。这可能吗?
这是我在开发中使用的日志记录(我试图复制它)——所以在这种情况下,我想看到console
中的调试日志,因为我不给自己发电子邮件。
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : ("[%(asctime)s] - %(levelname)s %(module)s.%(funcName)s:"
"%(lineno)s (%(name)s) %(message)s"),
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'colored': {
'format' : ("[%(asctime)s] - 33[1;35m %(levelname)s 33[0m "
"%(name)s %(funcName)s:"
"%(lineno)s 33[1m%(message)s 33[0m"),
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'logfile': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': "logfile",
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'colored'
},
},
'loggers': {
'': {
'handlers': ['console', 'logfile'],
'level': 'DEBUG',
'propagate': True
},
}
}
必须更改我的控制台日志级别以允许'DEBUG'。最终删除了'处理程序'上的级别覆盖,并只指定它们每个记录器。