簡體   English   中英

記錄錯誤時Loguru回調function

[英]Loguru callback function when an error is logged

我正在將桌面應用程序從 Python 的標准庫日志記錄移動到 Loguru,並希望在用戶界面中有一個包含日志記錄信息的文本框。

有沒有辦法掛鈎 Loguru 錯誤級別日志記錄,允許將日志消息發送到回調 function? 這將允許我使用最新的錯誤消息更新用戶界面。 例如,

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"`

您不能只為錯誤添加回調,但您可以為每個日志添加回調,並在其中檢查它是否是錯誤。 這個想法與適配器在 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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM