我的Django项目中有一个名为main
的应用程序。此应用程序有几个我要记录的管理命令,但stdout中没有显示以下配置:
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期末考试。
你需要命名你的记录器。当前,您正在登录到根日志记录器,该日志记录器未被处理程序捕获,处理程序正在查找
main
你想要的不是
logging.debug("message")
不需要将“stream”设置为sys.stdout。但是,您应该定义格式化程序:
示例:
如果使用cron注册这些自定义命令,则可以通过将输出重定向到文本文件来“强制”日志记录。
这将在每天早上12点运行cron作业,任何指向stdout的内容(如python print语句)都将转储到此文本文件中,并连接到日志文件中的任何现有文本上。
如果不使用cron,只需创建一个shell脚本来运行需要运行的所有脚本,并手动将它们指向所需的日志文件。
……等等。
相关问题 更多 >
编程相关推荐