[英]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.