Django 应用程序不记录龙卷风守护进程 uwsgi
Django application not logging tornado daemon 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
的日志记录
关于为什么这不起作用的任何想法?
当你使用 Django 时——你不需要配置记录器,因为 Django 会在加载时自行生成它。
当您使用 Tornado 时,没有自动配置记录器。尝试手动配置。
import logging.config
logging.config.dictConfig(settings.LOGGING)
我正在尝试记录我的 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
关于为什么这不起作用的任何想法?
当你使用 Django 时——你不需要配置记录器,因为 Django 会在加载时自行生成它。
当您使用 Tornado 时,没有自动配置记录器。尝试手动配置。
import logging.config
logging.config.dictConfig(settings.LOGGING)