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