Python logging.info() 未记录消息

16 投票
1 回答
20156 浏览
提问于 2025-04-17 04:38
parser_logger = logging.getLogger("CSHEL_parserlogger");
#logging.basicConfig()
parser_logger.addHandler(RotatingFileHandler(
                            "logfile", mode='a', maxBytes=7340032, backupCount=4,
                            encoding=None, delay=False))

#d = { 'clientip' : '192.168.0.1', 'user' : 'fbloggs' }
parser_logger.info('Protocol problem: %s', 'connection reset')

这段代码会创建一个叫做"logfile"的文件,但里面不会写入任何内容。

如果我把最后一行改成

parser_logger.warning('Protocol problem: %s', 'connection reset')

那么就会把信息正确地记录到"logfile"里。

我知道这可能是个小问题,但我就是搞不清楚到底是什么。

1 个回答

24

你需要设置日志记录器的阈值等级:

parser_logger.setLevel(logging.INFO)

当你创建一个日志记录器时,它的等级默认是 NOTSET,而根日志记录器的等级是 WARNING。想了解更多,可以查看 这份文档

撰写回答