16

我正在使用以下配置

import logging


FORMAT = '%(levelname)s: %(asctime)-15s: %(filename)s: %(funcName)s: %(module)s: %(message)s'
logging.basicConfig(filename="/var/log/out.log", level=logging.INFO, format=FORMAT)
LOGGER = logging.getLogger("Customer")

然后是我导入的一些库。这些库具有调试日志记录语句,例如

 LOGGER = logging.getLogger(__name__)
 LOGGER.debug('add_timeout: added timeout %s; deadline=%s at %s',
                     timeout_id, deadline, timeout_at)

当我运行我的程序时,它也会打印内部库的调试日志。我想完全避免调试日志。

4

1 回答 1

28

下面的代码应该可以解决问题。

loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
for logger in loggers:
    logger.setLevel(logging.INFO)

第一行返回实例化的日志列表。for 循环只是将级别设置为所有日志。

PS学分https://stackoverflow.com/a/53250066/4696783

于 2019-04-03T08:14:51.983 回答