logging.info没有显示在控制台上,但警告和错误

时间:2012-07-18 19:14:52

标签: python logging warnings

当我使用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文件中进行更改。

4 个答案:

答案 0 :(得分:91)

根记录器始终默认为警告级别。尝试拨打

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

你应该没事。

答案 1 :(得分:8)

就像@ztyx一样,默认记录器级别为WARNING。您必须将其设置为较低的水平

您可以通过使用logging.basicConfig并设置logger level来做到这一点:

logging.basicConfig(level=logging.DEBUG)

答案 2 :(得分:3)

上述解决方案对我不起作用,但是代码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)

(为了便于阅读,我省略了代码的一部分)

答案 3 :(得分:0)

这会起作用

import logging

logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

logger.info('its working')
相关问题