I'm using django+uwsgi for a web project. But I found some django logs would be missing after uwsgi is running for a while!
The situation is that: I config the uwsgi with 8 process. When I start the uwsgi, all the django logs would be written in single log file. But after a few hours, some logs are not written in file. I compared the django log file to uwsgi log file. I found only one uwsgi process's requests were written in django file. The other 7 process's django logs were missing. When I restart the uwsgi, it is the same result.
Does anyone know about this?
Thanks,
my django logging config:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '%(levelname)s %(asctime)s %(message)s'
},
'detail': {
'format': '%(levelname)s %(asctime)s [%(module)s.%(funcName)s line:%(lineno)d] %(message)s',
},
},
'handlers': {
'file': {
'level': 'INFO',
'formatter': 'simple',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': LOG_FILE,
'when': 'midnight',
'backupCount': 366,
},
'err_file': {
'level': 'WARN',
'formatter': 'detail',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': LOG_ERR_FILE,
'when': 'midnight',
'backupCount': 366,
},
},
'loggers': {
'django_request': {
'handlers': ['file', 'err_file'],
'level': 'DEBUG',
'propagate': True,
},
}
}
my uwsgi config:
<uwsgi>
<socket>0.0.0.0:8888</socket>
<chdir>src_dir</chdir>
<pythonpath>..</pythonpath>
<module>wsgi</module>
<workers>4</workers>
<processes>8</processes>
<master>true</master>
<pidfile>uwsgi.pid</pidfile>
<enable-threads>true</enable-threads>
<logdate>true</logdate>
<daemonize>/log/uwsgi/uwsgi.log</daemonize>
</uwsgi>