我正在编写以下代码以将消息记录到文件中:
#!/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)
,你应该看到DEBUG
和INFO
消息(如果你根本没有在处理程序上设置级别)或INFO
消息而不是DEBUG
消息(如果你将处理程序的级别设置为logging.INFO
)。
有关日志信息流的更多信息,请参见此图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句