gpt4 book ai didi

python - Django 记录器 - 正确输出到 stdout 和 stderr

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:10 26 4
gpt4 key购买 nike

似乎 Django 记录器默认为所有 记录级别使用 stderr。

例如当日志设置是:

'version': 1,
'disable_existing_loggers': True,
'formatters': {
'default': {
'format': "%(asctime)s:%(name)s:%(levelname)s:%(message)s"
},
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'default',

}
},
'loggers': {
'': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
'django': {
'handlers': ['console'],
'level': 'WARNING',
'propagate': False,
},
'appname': {
'handlers': ['console'],
'level': 'WARNING',
'propagate': False,
},

当我将处理程序更改为:

 'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'default',
'stream': sys.stdout #Notice the change
}
},

然后所有输出都在标准输出中。

但我需要正确的行为:记录信息、调试、向 stdout 发出警告(警告可以是任何一种方式,并不关心)和异常、错误、对 stderr

至关重要

我在这里错过了什么? (一些明显的设置?每个人都知道吗?)感谢您的帮助!

最佳答案

尝试定义 2 个处理程序,例如 consoleoutconsoleerr,每个都使用正确的流。

loggers 部分中的每个条目使用正确的处理程序。

关于python - Django 记录器 - 正确输出到 stdout 和 stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com