繁体   English   中英

如何检查 Python 日志的最大错误级别?

[英]How do I check maximum error level of Python's log?

使用 python 的logging模块,如果记录了错误或严重,我想返回非零,如果没有记录错误或严重,则返回零。 我是否必须添加一个层来捕捉这个,或者这是本机功能?

import logging
def CheckMaxErr():
        pass

logging.debug("Cat")
CheckMaxErr() #should return logging.DEBUG
logging.error("Dog")
CheckMaxErr() #should return logging.ERROR

您可以实现日志处理程序的子类并在实例上设置标志属性(如果它被调用)。 您可以将处理程序的级别设置为logging.ERROR级别以使其在这些消息上触发。

import logging

class MyHandler(logging.Handler):
    def __init__(self):
        super().__init__()
        self.flag = False

    def emit(self, record):
        self.flag = True

logger = logging.getLogger(__name__)
handle = MyHandler()
handle.setLevel(logging.ERROR)

logger.addHandler(handle)

logger.debug("debug message")
print(handle.flag)  # False
logger.error("ERROR")
print(handle.flag)  # True

在这个例子中,处理程序实际上并不对消息做任何事情,只是在它被触发时设置标志。 您可以添加另一个处理程序以登录到您想要的任何位置(控制台、文件等)

暂无
暂无

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

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