通过阅读官方 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/