簡體   English   中英

logging.FileHandler 不寫回溯

[英]logging.FileHandler doesn't write tracebacks

我有 2 個處理程序要寫入控制台和文件:

import logging, sys

logger = logging.getLogger(__name__)

stdout_handler = logging.StreamHandler(sys.stdout)
logger.addHandler(stdout_handler)

file_handler = logging.FileHandler(filename="out.log")
logger.addHandler(file_handler)

if __name__ == '__main__':
    raise ZeroDivisionError

當異常發生時,為 stdout 制作的StreamHandler能夠記錄到 stderr 的回溯。 同時, FileHandler不會向文件寫入回溯。

我在 FileHandler 設置中遺漏了什么嗎?

日志記錄模塊不會自己做所有事情。 您必須指定要捕獲的內容,如下所示。

import logging, sys

logger = logging.getLogger(__name__)

stdout_handler = logging.StreamHandler(sys.stdout)
logger.addHandler(stdout_handler)

file_handler = logging.FileHandler(filename="out.log")
logger.addHandler(file_handler)

if __name__ == '__main__':
    try:
        1/0
    except ZeroDivisionError as err:
        logger.error(err)

有關詳細信息,請參閱這些:

暫無
暫無

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

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