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