django开发的网站正式部署上线后,通常要关闭settings.py中的DEBUG = True
选项。此时如何方便获取系统存在的各种bug呢?一种解决方法是使用django的logging日志系统,并且将bug信息通过邮件发送给你。settings.py中的配置如下:
# 邮箱设置
EMAIL_HOST = 'smtp.126.com'
EMAIL_HOST_USER = 'XXXXXX'
EMAIL_HOST_PASSWORD = 'XXXXXX'
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '大青呱呱的博客 <sass1s@126.com>'
# 日志设置
# 要发送的邮件列表,必须项
ADMINS = (
('幽狐', '2063198253@qq.com'),
('math4s', 'math4s@126.com')
)
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SERVER_EMAIL = 'sass1s@126.com' # 邮件发送者,必须项
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
'style': '{'
},
'simple': {
'format': '{levelname} {message}',
'style': '{',
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'formatter': 'verbose',
},
'file': {
'level': 'WARNING',
# 'class': 'logging.FileHandler',
# 日志分割
'class': 'logging.handlers.TimedRotatingFileHandler',
'when': 'midnight', # 分割时间为凌晨
'backupCount': 30, # 保留最近的30天日志
'filename': os.path.join(BASE_DIR, 'logs/debug.log'),
'formatter': 'verbose',
},
},
'loggers': {
'django': {
'handlers': ['console'],
# 'level': 'INFO',
'propagate': True
},
'django.request': {
'handlers': ['file', 'mail_admins'],
'level': 'WARNING',
'propagate': False,
},
},
}
网友评论