我不知道为什么不能记录的消息,我认为所有设置都是正确的。
logging.DEBUG定义在日志记录模块下。
import logging
import sys
logger = logging.getLogger('collega_GUI')
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s %(levelname)s --file: %(module)s --riga: %(lineno)d, %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.debug('def __init__')但是,如果我尝试运行这个,它可以运行。
logger.warning('def __init__')这个级别变量的问题在哪里?
发布于 2014-04-15 16:49:21
问题是,调试级别的消息在到达处理程序之前就被记录器过滤掉了。通过将handler.setLevel(logging.DEBUG)改为logger.setLevel(logging.DEBUG)解决了这个问题。
您可以在几个不同的地方按日志级别进行筛选,因为日志消息从链上传递下来。默认情况下,记录器只传递信息和以上信息,处理程序接受一切。如果希望将不同级别的日志记录转到不同的位置,则允许处理程序使用不同的日志级别非常有用。例如,您可以将您的记录器设置为调试,然后创建一个在WARN和上面登录到屏幕上的处理程序,以及另一个在DEBUG和上面记录到文件的处理程序。用户得到一些信息,日志文件是聊天的。
https://stackoverflow.com/questions/23088360
复制相似问题