|
|
|
|
@ -216,3 +216,59 @@ DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
|
|
|
|
|
SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER')
|
|
|
|
|
# 设置debug=false 未处理异常邮件通知
|
|
|
|
|
ADMINS = [('liangliang', 'liangliangyy@gmail.com')]
|
|
|
|
|
|
|
|
|
|
LOGGING = {
|
|
|
|
|
'version': 1,
|
|
|
|
|
'disable_existing_loggers': False,
|
|
|
|
|
'formatters': {
|
|
|
|
|
'verbose': {
|
|
|
|
|
'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s',
|
|
|
|
|
},
|
|
|
|
|
'simple': {
|
|
|
|
|
'format': '%(levelname)s %(asctime)s %(message)s'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
'filters': {
|
|
|
|
|
'require_debug_false': {
|
|
|
|
|
'()': 'django.utils.log.RequireDebugFalse',
|
|
|
|
|
},
|
|
|
|
|
'require_debug_true': {
|
|
|
|
|
'()': 'django.utils.log.RequireDebugTrue',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
'handlers': {
|
|
|
|
|
'log_file': {
|
|
|
|
|
'level': 'INFO',
|
|
|
|
|
'class': 'logging.handlers.RotatingFileHandler',
|
|
|
|
|
'filename': 'djangoblog.log',
|
|
|
|
|
'maxBytes': 16777216, # 16 MB
|
|
|
|
|
'formatter': 'verbose'
|
|
|
|
|
},
|
|
|
|
|
'console': {
|
|
|
|
|
'level': 'DEBUG',
|
|
|
|
|
'filters': ['require_debug_true'],
|
|
|
|
|
'class': 'logging.StreamHandler',
|
|
|
|
|
'formatter': 'simple'
|
|
|
|
|
},
|
|
|
|
|
'null': {
|
|
|
|
|
'class': 'logging.NullHandler',
|
|
|
|
|
},
|
|
|
|
|
'mail_admins': {
|
|
|
|
|
'level': 'ERROR',
|
|
|
|
|
'filters': ['require_debug_false'],
|
|
|
|
|
'class': 'django.utils.log.AdminEmailHandler'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
'loggers': {
|
|
|
|
|
'djangoblog': {
|
|
|
|
|
'handlers': ['log_file', 'console'],
|
|
|
|
|
'level': 'INFO',
|
|
|
|
|
'propagate': True,
|
|
|
|
|
},
|
|
|
|
|
'django.request': {
|
|
|
|
|
'handlers': ['mail_admins'],
|
|
|
|
|
'level': 'ERROR',
|
|
|
|
|
'propagate': False,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|