我在10个进程中使用UWSGI启动我的Django 1.8应用程序。 UWSGI是在virtualenv下建立的。
Django文件记录配置如下:
LOG_FILE_PATH = '/tmp/app_logs/debug.log'
...
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'INFO',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': LOG_FILE_PATH,
'formatter': 'verbose',
'when': 'midnight',
'interval': 1,
'backupCount': 0,
...
当我启动UWSGI日志工作正常时 - 我看到debug.log正在使用条目进行更新。我在UWSGI日志文件中看到了活动:
/var/log/uwsgi/mysite.log
午夜过后,我看到Django日志文件发生了旋转(确实创建了debug.log.2015-09-30),但它几乎是空的:
$ cat debug.log.2015-09-30
INFO 2015-10-01 17:45:21,362 MainScreen 1836 140697212401600 MainScreen is called with the following parameters: {}
ERROR 2015-10-01 17:45:21,362 MainScreen 1836 140697212401600 Login error: NotEnoughParametersError {}
此外,当前日志文件debug.log不再使用app活动进行更新。 UWSGI日志文件:
$ tail -f /var/log/uwsgi/mysite.log
应用程序启动并运行时,保持静音。如果我重新启动UWSGI,一切都会恢复正常,直到下一个午夜。
我怀疑这可能是Django日志记录的并发问题。我该如何克服这个问题?我如何修复UWSGI日志呢?