繁体   English   中英

Python 日志记录 - 如何使用记录器配置文件为某些模块禁用或设置不同的日志记录级别?

[英]Python logging - how do I disable or set different logging level for some modules, using the logger configuration file?

我正在从配置文件中读取日志记录配置:

logging.config.fileConfig(fname=logConfigFilePath, disable_existing_loggers=False)

日志记录配置尽可能基本:

[loggers]
keys=root

[logger_root]
level=DEBUG
handlers=consoleHandler

[handlers]
keys=consoleHandler

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=consoleFormatter
args=(sys.stdout,)

[formatters]
keys=consoleFormatter

[formatter_consoleFormatter]
format=%(asctime)s %(levelname)s %(filename)s-%(funcName)s %(message)s

我需要为某些特定模块设置不同的日志记录级别(例如WARNING ),例如:

DEBUG connectionpool.py-_new_conn Starting new HTTPS connection (1):...

我怎样才能做到这一点,不是以编程方式,而是使用配置文件

谢谢。

在配置中,您可以通过其qualname操作运行时记录器。

例如,假设您的记录器位于模块ab中,并且您正在使用logging.getLogger(__name__)

您将扩展您的 loggers 部分以包含新的记录器配置名称,以及为记录器提供不同级别的新部分,并通过 qualname 将其链接到运行时记录器

[loggers]
keys=root,changed_logger

[logger_changed_logger]
qualname=a.b
level=DEBUG
;inherit all handlers from parent, do not create any new ones
propagate=1
handlers=

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM