python - 如何在 Python 的日志记录模块中撤消 logging.disable() 命令?

标签 python logging

<分区>

在强大的 Python 内置日志记录模块中,可以通过调用例如 logging.disable(logging.INFO) 来禁用某个级别以下的所有日志。

我没有在 doc 中找到如何重置或撤消此设置的方法.

我的目的是通过在 setUp() 中调用 logging.disable,然后在 tearDown( )

注意:如果我有一个给定的 logger 实例,我知道该怎么做:保持 logger.level,将级别设置得更高,然后将其设置回 拆卸()。我更喜欢一种无需明确选择即可将所有记录器静音的方法。

最佳答案

看起来答案是调用 logging.disable(logging.NOTSET)

import logging

logger = logging.getLogger('testlog')
handler = logging.FileHandler('\\path\\to\\testlog.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

logger.error("some error occurred")
logger.info('some info msg')
logging.disable(logging.ERROR)
logger.info('another info msg')
logging.disable(logging.NOTSET)
logger.info('last info msg')

产生一个具有以下输出的日志文件:

2012-05-17 11:09:24,441 ERROR some error occurred
2012-05-17 11:09:24,443 INFO some info msg
2012-05-17 11:09:24,443 INFO last info msg

关于python - 如何在 Python 的日志记录模块中撤消 logging.disable() 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637743/

相关文章:

python - 正则表达式在 Python 和 Ruby 中的工作方式不同

python - 无法让 argparse 读取带有破折号的引号字符串?

java - 使用具有文件大小限制和文件数量限制的 Logger

design-patterns - 日志代码应该去哪/什么级别?

tomcat - tomcat 8 中的 Hikaricp 日志消息

python - 在python中使用装饰器时出现位置参数错误

python - 使用PyQt4,虽然我断开了一个插槽,但它不断触发

javascript - 使用 Sentry 的 Raven JS 收集所有 HTTP 错误

python - 是否可以使用 Jinja2 模板对文档中的参数进行逆向工程?

objective-c - 我应该如何处理 Objective-C 库中的日志?