logging.info不显示在控制台上,但显示warn和error d

2024-05-13 01:09:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当我用logging.info记录事件时,它不会出现在Python终端中。

import logging
logging.info('I am info')  # no output

相反,用logging.warn记录的事件确实出现在终端中。

import logging
logging.warn('I am warning')  # outputs "I am warning"

是否有环境级别的更改可以将logging.info打印到控制台?我想避免在每个Python文件中进行更改。


Tags: 文件noimportinfo终端output环境logging
3条回答

就像@ztyx说的,默认的日志级别是WARNING。你得把它调低一点

您可以通过使用logging.basicConfig并设置logger level来完成此操作:

logging.basicConfig(level=logging.DEBUG)

根记录器始终默认为警告级别。试着打电话

logging.getLogger().setLevel(logging.INFO)

你应该没事的。

上面的解决方案对我不起作用,但是代码here起了作用:

# set up logging to file
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%m-%d %H:%M',
                    filename='/temp/myapp.log',
                    filemode='w')
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# add the handler to the root logger
logging.getLogger('').addHandler(console)

(为了可读性,我省略了部分代码)

相关问题 更多 >