เวลาผ่านไปนับตั้งแต่การส่งรหัสที่เป็นประโยชน์ที่สุดของ EMP ตอนนี้ฉันเพิ่งติดตั้งมันและในขณะที่เดินไปรอบ ๆ พร้อมกับบางส่วนของตัวเลือก Manage.py เพื่อพยายามไล่ล่าบั๊กฉันได้รับคำเตือนการคัดค้านถึงผลกระทบที่กับ Django เวอร์ชันปัจจุบันของฉัน (1.5.?) ตัวกรอง require_debug_false จำเป็นสำหรับตัวจัดการ mail_admins
นี่คือรหัสที่แก้ไข:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
# Include the default Django email handler for errors
# This is what you'd get without configuring logging at all.
'mail_admins': {
'class': 'django.utils.log.AdminEmailHandler',
'level': 'ERROR',
'filters': ['require_debug_false'],
# But the emails are plain text by default - HTML is nicer
'include_html': True,
},
# Log to a text file that can be rotated by logrotate
'logfile': {
'class': 'logging.handlers.WatchedFileHandler',
'filename': '/home/username/public_html/djangoprojectname/logfilename.log'
},
},
'loggers': {
# Again, default Django configuration to email unhandled exceptions
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
# Might as well log any errors anywhere else in Django
'django': {
'handlers': ['logfile'],
'level': 'ERROR',
'propagate': False,
},
# Your own app - this assumes all your logger names start with "myapp."
'myapp': {
'handlers': ['logfile'],
'level': 'DEBUG', # Or maybe INFO or WARNING
'propagate': False
},
},
}