Python 如何禁用导入模块的日志记录
应用程序可以使用 logging 模块来配置各种日志处理程序,并将日志消息路由到这些处理程序。这使得设计非常灵活,可以处理各种用例。
调用者必须首先请求一个命名的记录器以便产生日志消息。程序可以使用名称为不同的记录器设置各种规则。
然后,程序可以利用此记录器以不同的日志级别(DEBUG,INFO,ERROR等)生成纯文本消息,从而使其能够根据优先级不同处理具有较高优先级的消息和较低优先级的消息。下面是一个解释相同内容的示例−
import logging
logging = logging.getLogger("logger")
logging.info("Python logging")
消息被内部转换为一个LogRecord对象,并发送给专为该记录器指定的Handler对象。该处理程序将使用格式化程序将LogRecord转换为字符串,并发出该字符串。
要禁用Python中导入的模块的日志记录,我们需要使用getLogger()函数。
getLogger()函数
记录器名称是getLogger()方法接受的唯一参数。如果提供了一个名称,它将生成对具有该名称的记录器的引用;否则,它将返回root。使用相同名称多次调用getLogger()将引用相同的记录器对象。
示例
您可以修改处理这些消息的记录器的日志级别。如果将级别设置为WARNING,则请求消息将被删除,但错误和警告将保留。
以下是使用getLogger()函数禁用日志记录的示例−
import logging
logging.getLogger("Python").setLevel(logging.WARNING)
logging.getLogger("Coding").setLevel(logging.WARNING)
注意:您也可以使用导入的模块名__,如果您不想将模块名作为字符串写入。如果您希望进一步,并且只想记录错误或者重要信息,请将logging.WARNING分别替换为logging.ERROR和logging.CRITICAL。