Я пытаюсь зарегистрировать свое приложение и хочу использовать для него модуль logging
.Приложение работает в Docker-контейнере, что заставило меня войти в stdout и stderr, чтобы я мог видеть его в журналах Docker.К сожалению, работает только мой root logger, который пишет в файл.Я уже искал этот случай, но не смог найти решение.
Для лучшей справки:
config.ini
[loggers]
keys=root, info
[handlers]
keys=debug, info
[formatters]
keys=debug, info, error
[logger_root]
level=DEBUG
handlers=debug
[logger_info]
level=INFO
handlers=info
qualname=docker.info
propagate=0
[handler_debug]
class=FileHandler
level=DEBUG
formatter=debug
args=('.logs', 'a+')
[handler_info]
class=StreamHandler
level=INFO
formatter=info
args=(sys.stdout,)
[formatter_debug]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
[formatter_info]
format=%(levelname)s - %(message)s
main.py
import logging.config
logging.config.fileConfig(fname='logger.ini')
logger = logging.getLogger(__name__)
from gevent import monkey
monkey.patch_all()
from gevent import pywsgi
# some logging here
http_server = pywsgi.WSGIServer(('0.0.0.0', 5000), app, log=logger)
http_server.serve_forever()