簡體   English   中英

將每個級別的日志保存到不同的文件中

[英]Save each level of logging in a different file

我正在使用Python日志記錄模塊,但是我不知道如何為每種類型的日志記錄級別編寫不同的文件。

例如,我希望將調試級別的消息(並且僅調試)保存在文件debug.log中。

這是我到目前為止擁有的代碼,我已經嘗試過使用處理程序,但是現在不再起作用。 我不知道是否可以這樣做。 這是我在每個日志記錄級別使用處理程序和不同文件的代碼,但是由於Debug文件保存了所有其他級別的消息,因此它不起作用。

import logging as _logging
self.logger = _logging.getLogger(__name__)
_handler_debug = _logging.FileHandler(self.debug_log_file)
_handler_debug.setLevel(_logging.DEBUG)
self.logger.addHandler(_handler_debug)

_handler_info = _logging.FileHandler(self.info_log_file)
_handler_info.setLevel(_logging.INFO)
self.logger.addHandler(_handler_info)

_handler_warning = _logging.FileHandler(self.warning_log_file)
_handler_warning.setLevel(_logging.WARNING)
self.logger.addHandler(_handler_warning)

_handler_error = _logging.FileHandler(self.error_log_file)
_handler_error.setLevel(_logging.ERROR)
self.logger.addHandler(_handler_error)

_handler_critical = _logging.FileHandler(self.critical_log_file)
_handler_critical.setLevel(_logging.CRITICAL)
self.logger.addHandler(_handler_critical)

self.logger.debug("debug test")
self.logger.info("info test")
self.logger.warning("warning test")
self.logger.error("error test")
self.logger.critical("critical test")

並且debug.log包含以下內容:

debug test
info test
warning test
error test
critical test

我正在上課,所以我修改了一些代碼

可能重復到: 僅限python日志記錄特定級別
請在此處查看已接受的答案。

您需要為每個處理程序使用過濾器,以將輸出限制為提供的日志級別。

暫無
暫無

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

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