Python 记录错误时的Loguru回调函数
我正在将一个桌面应用程序从Python的标准库日志迁移到Loguru,并希望在用户界面中有一个包含日志信息的文本框 有没有一种方法可以钩住Loguru错误级别日志记录,从而允许将日志消息发送到回调函数?这将允许我用最新的错误消息更新用户界面。比如说,Python 记录错误时的Loguru回调函数,python,logging,callback,notifications,loguru,Python,Logging,Callback,Notifications,Loguru,我正在将一个桌面应用程序从Python的标准库日志迁移到Loguru,并希望在用户界面中有一个包含日志信息的文本框 有没有一种方法可以钩住Loguru错误级别日志记录,从而允许将日志消息发送到回调函数?这将允许我用最新的错误消息更新用户界面。比如说, from loguru import logger def error_callback(msg: str): # Do something with the error message pass logger.add_call
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"`
从loguru导入记录器
def错误_回调(消息:str):
#对错误消息进行处理
通过
add_callback(error_callback)#您不能只为错误添加一个回调,但可以为每个日志添加一个回调,并在其中检查是否有错误。这个想法与stdlib日志中适配器的想法相同,唯一的区别是loguru调用它
从loguru导入记录器
def错误_回调(记录):
如果记录['level'].name=='ERROR':
打印('记录错误')
#日志消息的可用形式为:record['message']
logger=logger.patch(错误\回调)
logger.error('error'))
谢谢,补丁是我一直在寻找的,它并没有跳出我和我第一次读到的文档@Danielvarrell指出,另一种可能是简单地添加错误回调(msg:str)
作为带有过滤器的接收器。这将作为任何“错误”
消息的回调logger.add(error\u回调,filter=lambda r:r[“level”]。name==“error”)