Приложение Django не регистрирует торнадо демона uwsgi
Я пытаюсь войти в приложение django. Это прекрасно работает (я вижу все другие журналы в файле журнала), если я не пытаюсь регистрировать свои демонизированные процессы uWSGI. Я новичок в использовании демона, есть ли причина, по которой он будет вести журнал по-другому?
Я использую в uwsgi.yaml:
env: DJANGO_SETTINGS_MODULE=application.settings
module: application.wsgi
log-master: True
log-syslog: uwsgi
attach-daemon: /opt/application/bin/tornading
Это мой вход в модуль настроек:
LOGGING = {
'handlers': {
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': '/var/log/application.log',
'maxBytes': 1 * 1024 * 1024,
'backupCount': 2,
'formatter': 'standard',
},
},
'loggers': {
'application': {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': True,
},
}
}
tornading.py запускает экземпляр IOloop и потребителя торнадо:
import logging
import settings
LOGGER = logging.getLogger(__name__)
def main():
app = tornado.web.Application(BroadcastRouter.urls)
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(port=settings.TORNADO_PORT, address=settings.TORNADO_HOST)
ioloop = tornado.ioloop.IOLoop.instance()
consumer = communication.TornadoConsumer(ioloop, BroadcastConnection.on_rabbit_message)
consumer.connect()
LOGGER.debug('Hello world')
ioloop.start()
if __name__ == "__main__":
main()
Я также пытался LOGGER = logging.getLogger('application')
и до сих пор нет регистрации от tornading.py
Любые идеи о том, почему это не работает?
1 ответ
Когда вы используете Django - вам не нужно настраивать регистратор, потому что Django делает его самостоятельно при загрузке.
Когда вы используете Tornado, нет автоконфигурации loggger. Попробуйте настроить вручную.
import logging.config
logging.config.dictConfig(settings.LOGGING)
Также для дальнейшего чтения: 15.8. logging.config - конфигурация регистрации