【发布时间】:2016-11-03 00:43:28
【问题描述】:
我无法在我的 Django Web 应用程序中进行日志记录。
我的设置文件如下所示:
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 465
EMAIL_HOST_USER = "paulhtremblay@gmail.com"
EMAIL_HOST_PASSWORD = "password"
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "paulhtremblay@gmail.com"
SERVER_EMAIL = 'smtp.gmail.com'
ADMINS = (
('Paul Tremblay', 'paulhtremblay@gmail.com'),
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': '/var/log/django_logs/debug.log'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
},
}
我的视图文件中有这个:
def five_hundred_test(request):
raise ValueError("raising this on purpose for testing for 500")
return render(request, 'my_test/basic_css.html')
当我将浏览器指向此功能时,我收到 500 错误(如预期的那样),但没有任何内容发送到我的电子邮件,也没有任何内容放入日志文件中。我正在使用带有 python3 的 Django 1.9,使用 Apache 来运行服务器。
【问题讨论】:
-
如果您正确粘贴代码,
LOGGING = {之前的空格太多。在任何情况下,您都应该始终从控制台添加错误回溯。 -
我一定没有正确粘贴。我还看到“记录”之前有太多空间。但是,代码不会引发任何错误(所以我不能包含跟踪)。它只是没有做它应该做的事情。
-
您的环境变量有错误:SERVER_EMAIL 收到一个电子邮件地址。我会相应地更新我的答案。