如何禁用标准错误流的日志记录?

2022-01-11 00:00:00 python logging stdout console

问题描述

如何在 Python 的标准错误流上禁用 logging?这不起作用:

How to disable logging on the standard error stream in Python? This does not work:

import logging

logger = logging.getLogger()
logger.removeHandler(sys.stderr)
logger.warning('foobar')  # emits 'foobar' on sys.stderr


解决方案

我找到了解决方案:

logger = logging.getLogger('my-logger')
logger.propagate = False
# now if you use logger it will not log to console.

这将阻止将日志记录发送到包含控制台日志记录的上层记录器.

This will prevent logging from being send to the upper logger that includes the console logging.

相关文章