簡體   English   中英

Python日志記錄setLevel不記錄

[英]Python logging setLevel not logging

這段代碼中有什么內容可以解釋為什么我的信息消息沒有進入日志。 格式正確的警告及以上內容都會放入兩個日志文件中。

初始化記錄器:

logger = logging.getLogger()
f = logging.Formatter('%(asctime)s\n%(levelname)s: %(funcName)s %(message)s')
out = logging.handlers.RotatingFileHandler(filename=self.f_stdout, maxBytes=1048576, backupCount=99)
err = logging.handlers.RotatingFileHandler(filename=self.f_stderr, maxBytes=1048576, backupCount=99)
out.setLevel(logging.INFO)
err.setLevel(logging.WARNING)
err.setFormatter(f)
logger.addHandler(out)
logger.addHandler(err)

用法:

logging.info('this doesnt get logged')
logging.warning('this gets logged to stdout and stderr with respective formatting')

您實際上從未設置過記錄器對象本身的日志級別(代碼中的logger變量)。 處理程序和記錄器都有日志級別。 線只有在兩個閾值以上時才達到輸出。

由於您未設置根日志級別,因此它使用其默認值(警告)。 嘗試添加對logger.setLevel(logging.INFO)的調用以更改此設置。

暫無
暫無

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

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