记录错误时的Loguru回调函数

2024-04-25 21:46:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一个桌面应用程序从Python的标准库日志迁移到Loguru,并希望在用户界面中有一个包含日志信息的文本框

有没有一种方法可以钩住Loguru错误级别日志记录,从而允许将日志消息发送到回调函数?这将允许我用最新的错误消息更新用户界面。比如说,

from loguru import logger

def error_callback(msg: str):
    # Do something with the error message
    pass

logger.add_callback(error_callback) # <-- Does something like this exist?

# So when I do this...
logger.error("Oh noes")
# ... the callback is called with the argument `"Oh noes"`

Tags: the应用程序消息错误withcallbackerrorlogger
1条回答
网友
1楼 · 发布于 2024-04-25 21:46:34

不能只为错误添加回调,但可以为每个日志以及检查内部添加回调,如果它是错误。这个想法与stdlib日志中适配器的想法相同,唯一的区别是loguru将其称为patch

from loguru import logger

def error_callback(record):
    if record['level'].name == 'ERROR':
        print('logging an error')
        # the log message is available as: record['message']

logger = logger.patch(error_callback)

logger.error('error')

相关问题 更多 >