I'm trying to set the level
and format
for the loggers used by the Quart module the way I did it successfully for other 'foreign' loggers:
- by running
basicConfig
and implicitly setting up the root-logger or later - by running
logging.getLogger("urllib3.connectionpool").setLevel(logging.INFO)
to get and modify an existing logger
However those approaches don't work for the loggers spawned by Quart. Neither are those affected by basicConfig
nor can I set the level. Output will always look like this:
[2023-07-28 16:17:12 +0200] [1254610] [INFO] Running on http://0.0.0.0:5432 (CTRL + C to quit)
Setting breakpoints in logging/__init__.py
let the program break on log messages by hypercorn.error
(so it seems to use the same module), but setting the level like this
logging.getLogger("hypercorn.error").setLevel(logging.WARNING)
doesn't have any effect.
The doc says I should use dictConfig
, so I've added
dictConfig({
'version': 1,
'loggers': {
'quart.app': {'level': 'ERROR'},
'hypercorn.error': {'level': 'ERROR'},
},
})
.. no effect
I found https://github.com/pgjones/hypercorn/issues/120, and tried
logger = logging.getLogger("hypercorn.error")
logger.addHandler(my_own_handler)
logger.setLevel(logging.WARNING)
logger.propagate = False
but also without effect.
What else can I try?