Python日志记录问题?

旋风

我正在编写以下代码以将消息记录到文件中:

#!/usr/bin/python3

import logging 

## init logger
logger = logging.getLogger(__name__)

## create handler file
handler = logging.FileHandler('mylog3.log')

## set log level
handler.setLevel(logging.INFO)

## add handler to logger
logger.addHandler(handler)

l = [1, 2, 3, 4]
i = 3

logger.info('This is an info message')
logger.warning('This is a warning message')
logger.debug('This is a debug message.  I=%d l=%s', i, l)
logger.error('This is an error message. l =%s', l)
logger.fatal('This is a fatal error message')

我看到的问题是,无论我给出什么设置,它总是在文件中打印警告、错误和致命错误消息。永远不会写入调试和信息消息。

我确认我在 Windows 和我的 Ubuntu linux Python 3 上都看到了 PyCharm 的问题。所以,一定是我做错了什么。它可以是什么?我很茫然!

维奈沙吉普

记录器和处理程序都有级别。您已经为处理程序设置了级别,但没有为记录器设置级别 - 默认为WARNING. 如果你这样做logger.setLevel(logging.DEBUG),你应该看到DEBUGINFO消息(如果你根本没有在处理程序上设置级别)或INFO消息而不是DEBUG消息(如果你将处理程序的级别设置为logging.INFO)。

有关日志信息流的更多信息,请参见此图

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章