当前位置: 首页 > 面试题库 >

记录setLevel被忽略

任绪
2023-03-14
问题内容

以下代码是从文档中复制的。我应该能够查看所有信息日志。但是我没有。即使将setLevel设置为INFO,我也只能看到警告和以上内容。

为什么会这样呢?foo.py

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')

输出:

workingDirectory$ python foo.py
warn message
error message
critical message

信息和调试消息到哪里去了?


问题答案:

更换线

logger.setLevel(logging.DEBUG)

logging.basicConfig(level=logging.DEBUG, format='%(message)s')

它应该可以按预期工作。如果您不使用任何处理程序来配置日志记录(如您的帖子中所示,您只为记录器配置一个级别,但在任何地方都没有处理程序),则将获得一个“不得已使用”的内部处理程序,该处理程序仅输出消息(没有其他格式)WARNING



 类似资料:
  • 我们的web应用程序在tomcat 9容器中运行,并使用Log4j 2.13。3作为测井系统。 web应用程序包括org.apache.xmlgraphics:fop 2.3,它使用apache共享日志记录(我们设置中的版本为1.2,而不是fop中最初使用的1.0.4)。 这个组合已经使用log4-jcl、共享日志记录桥运行了多年,所有共享日志记录输出都正确地进入了log4j配置的文件。配置相当简

  • 我正在编写一个Twilio函数,它记录来电者的语音邮件,然后发送一个带有音频记录URL的SMS到一个固定的电话号码。当调用者通过按下任意键结束语音邮件录制时,它会按预期工作。但是,如果用户通过挂断来结束语音邮件录制,代码仍然会到达下面的控制台。log,但是文本消息永远不会被发送。我猜TwiML响应被忽略了,因为调用者已经挂断了。我尝试让的指向TwiML bin,但是TwiML bin似乎不支持作为

  • 附加器 和3个记录器: 记录器1 null

  • 我有一个Maven java项目,我的日志。属性放在资源文件夹下。我已配置为使用控制台记录器打印FINE级别的消息。 生成的WAR文件在WEB-INF/class下有属性文件,但是,应用程序在部署和执行时,我只能看到INFO级别的日志。 除了将logging.properties放在正确的路径中之外,我还应该初始化任何日志配置吗?

  • 问题内容: 假设我有以下代码: 我希望在处理程序上进行设置会导致将调试级别的消息写入日志文件。但是,这将打印有效级别的30(等于,默认值),并且仅将消息记录到日志文件中,而不记录调试消息。 似乎该处理程序的日志级别被丢弃在地板上,例如,它被静默忽略。这让我感到奇怪,为什么要在处理程序上放所有东西? 问题答案: 它允许更好的控制。默认情况下,root记录程序已设置级别,这意味着它不会打印较低级别的消

  • 我最近将我的Win 8开发盒和CentOS 6部署环境升级到Tomcat 7.0.42。开始获取“信息:至少扫描了一个JAR的顶级域名,但没有包含顶级域名......”消息。根据其他SO问题,操作过程是在Tomcat的logging.properties中启用FINE日志,以找出哪些JAR是问题。 我已经试过了,但无济于事。无论我做什么,我都无法让Tomcat注意到我对${TOMCAT_HOME)