问题在于,
getLogger不带参数的调用将返回
根 记录器,因此,当您将级别
logging.DEBUG设置为时,还将为使用该记录器的其他模块设置级别。
您可以通过 不 使用root记录器来解决此问题。为此,只需将名称作为参数传递,例如模块的名称:
logger = logging.getLogger('my_module_name')# as before这将创建一个新的记录器,因此不会无意中更改其他模块的记录级别。
显然,您必须使用
logger.debug而不是,
logging.debug因为后者是一个方便的函数,它调用
debug了root
logger的方法。
在“高级日志记录教程”中对此进行了提及。它还允许您以简单的方式知道哪个模块触发了日志消息。



