记录错误时的 Loguru 回调函数
Loguru callback function when an error is logged
我正在将桌面应用程序从 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"`
您不能只为错误添加回调,但您可以为每个日志添加回调,并在其中检查是否有错误。这个想法与 Adapters 在 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')
我正在将桌面应用程序从 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"`
您不能只为错误添加回调,但您可以为每个日志添加回调,并在其中检查是否有错误。这个想法与 Adapters 在 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')