gpt4 book ai didi

django - 如果 DEBUG 为 True,也启用 Django 日志记录

转载 作者:行者123 更新时间:2023-12-04 15:24:54 30 4
gpt4 key购买 nike

通过阅读官方 django 文档,我对它了解不多。
https://docs.djangoproject.com/en/dev/topics/logging/#configuring-logging

如果 ,我也想启用日志记录调试 在 settings.py 中设置为 .
我希望将错误记录在文件中。

怎么做?

这些是我现在拥有的用于日志记录的默认 Django 设置:

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}

PS:
我在我的开发环境中使用 Apache + mod_wsgi,因为我使用的是我在 LAN 上远程访问的开发机器,这意味着我没有使用 django 开发服务器,我看不到控制台日志消息。

最佳答案

除非您已将其设置为,否则在任一 Debug模式下默认情况下都不会禁用 Django 日志记录。

将下面添加到您的 handlers LOGGING 的一部分

'file':
{
'level':
'INFO',
'class':
'logging.FileHandler',
'formatter':
'verbose',
'filename':
'myapp.log'

}

它将登录到 myapp.log项目根目录中的文件。您可以指定完整路径。

并将格式化程序字段添加到 Logging dict
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format':
'%(levelname)s %(message)s'
},
},

关于django - 如果 DEBUG 为 True,也启用 Django 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12841189/

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