[英]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.