【发布时间】:2012-03-26 20:01:00
【问题描述】:
我的 Django 项目中有一个名为 main 的应用程序。这个应用程序有几个我想记录的管理命令,但在标准输出中没有显示任何内容,配置如下:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'log_to_stdout': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'stream': sys.stdout,
},
},
'loggers': {
'main': {
'handlers': ['log_to_stdout'],
'level': 'DEBUG',
'propagate': True,
}
}
}
我做错了什么?我也尝试过使用my_project.main,但这也没有用。我使用的是 1.3.0 final。
【问题讨论】:
-
你用什么命令来记录输出?
-
我试过
logging.info和logging.debug,但它们都不起作用。写完这个问题后,我注意到logging.warn确实给了我一个打印到标准输出的信息。 -
听起来您的日志级别设置不正确。如果您想将其绑定到
verbosity标志,请尝试类似 reinout.vanrees.org/weblog/2017/03/08/… 的操作。 -
对于可能正在阅读此内容的其他人...根记录器默认为“警告”级别,因此正在使用的记录器很可能正在传播到根记录器(或者是根记录器)而不是这里声明的“主要”。