gpt4 book ai didi

python - 我刚刚记录的最差级别的日志是什么?

转载 作者:行者123 更新时间:2023-11-30 22:08:44 25 4
gpt4 key购买 nike

我已使用 logging 将日志添加到 Python 2 应用程序中模块。现在我想在最后添加一个结束语,具体取决于记录的最糟糕的事情。

如果记录的最糟糕的事情具有 INFO 级别或更低,则打印“SUCCESS!”

如果记录的最糟糕的事情具有警告级别,请写“成功!,有警告。请检查日志”

如果记录的最糟糕的事情具有错误级别,请写入“失败”。

有没有办法从记录器获取此信息?我缺少一些内置方法,例如 logging.getWorseLevelLogSoFar?

我当前的计划是用对也跟踪该信息的类中的包装函数的调用来替换所有日志调用(logging.info 等)。

我还考虑以某种方式释放日志文件,读取并解析它,然后附加到它。这似乎比我当前的计划更糟糕。

还有其他选择吗?这似乎不是一个独特的问题。

我正在使用根记录器,并且希望继续使用它,但如果解决方案需要,可以更改为命名记录器。

最佳答案

正如您自己所说,我认为编写包装函数将是最简洁、最快的方法。问题是,如果您不在类中工作,则需要一个全局变量

global worst_log_lvl = logging.NOTSET

def write_log(logger, lvl, msg):
logger.log(lvl, msg)
if lvl > worst_log_lvl:
global worst_log_lvl
worst_log_lvl = lvl

或者使worst_log_lvl成为自定义类的成员,您可以在其中模拟logging.logger的签名,而不是实际的记录器

 class CustomLoggerWrapper(object):
def __init__(self):
# setup of your custom logger
self.worst_log_lvl = logging.NOTSET

def debug(self):
pass

# repeat for other functions like info() etc.

关于python - 我刚刚记录的最差级别的日志是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com