我正在使用 Django + Python + Gunicorn + Nginx + MySQL 堆栈来制作社交约会网站 - http://www.tomonotomo.com
我在 Django 中的 settings.py 文件如下:
DEBUG = False
TEMPLATE_DEBUG = False
ADMINS = (
('Pratik Poddar', 'xxxxxxxxxxx'),
)
MANAGERS = ADMINS
FAILED_RUNS_CRONJOB_EMAIL_PREFIX = "[Django - Tomonotomo - Cron Job] "
EMAIL_SUBJECT_PREFIX = "[Django - Tomonotomo] "
.....
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
}
},
'handlers': {
'null': {
'level': 'INFO',
'class': 'logging.NullHandler'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django': {
'handlers': ['null'],
'level': 'INFO',
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
我的 gunicorn 配置(编辑:主管配置)如下:
stdout_logfile = /home/ubuntu/gunicorn_tomonotomo_supervisor.log
redirect_stderr = true
我的 nginx 配置有:
access_log /home/ubuntu/tomonotomo-access.log;
error_log /home/ubuntu/tomonotomo-error.log error;
我看不到我的错误日志。我不想让 debug = True 因为它在生产中。我也没有收到任何邮件。
我希望将所有日志记录在一个文件中,并每天早上将所有错误通过电子邮件发送给我。我该如何实施?
万分感谢