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

找不到用于记录程序的处理程序

况博容
2023-03-14
问题内容

我是python的新手。我尝试登录python,但遇到尝试通过记录器实例打印一些警告时 找不到记录器 错误的 处理程序 。下面是我尝试的代码

import logging
logger=logging.getLogger('logger')
logger.warning('The system may break down')

我收到此错误, 找不到记录程序“ logger”的处理程序

令我感到困惑的是,当我第一次尝试使用logging,然后通过来打印警告时logger,它可以正常工作,例如

>>> import logging
>>> logging.warning('This is a WARNING!!!!')
WARNING:root:This is a WARNING!!!!
>>> 
>>> logger.warning('WARNING!!!!')
WARNING:logger:WARNING!!!!

有人可以阐明第二种情况下发生的事情吗?


问题答案:

为了通过记录一些消息logger,在Python中至少应将一个处理程序添加logger对象。默认情况下debug,将调用模块中的warn和其他函数,依次将添加到中。logging``basicConfig``StreamHandler``root logger

始终建议将所需的Handler添加到为模块编写的logger对象中。

您可以参考Python官方文档,该文档具有很棒的教程,或者您可以更好地自己查看日志记录模块的源代码。

只需您可以通过以下方式检查Python Shell本身中的源代码,

import logging
import inspect
print(inspect.getsource(logging))

最后,basicConfig显式调用将解决此问题。

import logging
logging.basicConfig()
logger = logging.getLogger('logger')
logger.warning('The system may break down')


 类似资料:
  • 问题内容: 好的,这是什么,为什么它会在Win2003服务器上而不是在WinXP上发生。 它似乎根本不影响我的应用程序,但是当我关闭应用程序时收到此错误消息。而且很烦人(因为错误消息应该如此)。 我正在使用pyOpenGl和wxPython做图形工作。不幸的是,我是一个接管了这个Python应用程序的C#程序员,我必须学习Python才能做到这一点。 我可以提供代码和版本号等,但是我仍在学习技术知

  • 问题内容: 我正在尝试使用插入文档api的自动增量id功能向我的elasticsearch索引发出原始NodeJS http请求。 所以这适用于: 但是当我通过以下方式在nodejs中尝试相同的操作时: 它返回此错误: 但是,如果我在该路径的末尾添加一个,它将起作用。怎么了 问题答案: 这里的问题是方式和工作方式,当您使用时,它是可选的,ES 每次都会为您生成一个唯一的。 在这里,您使用的是这样的

  • 当我使用Anable取消存档文件时,发生了以下错误: 找不到要取消归档的处理程序。确保安装了提取文件所需的命令。 有没有一个解决方案,而不安装所需的模块(gtar/解压缩)。

  • 问题内容: 我正在尝试在Firefoxdriver上运行Selenium Webdriver代码,但在运行时我遇到了一个例外- 代码是-import org.openqa.selenium。*; 导入org.openqa.selenium.firefox.FirefoxDriver; 问题答案: 实际上,您得到的异常与您在帖子标题中提到的警告无关。 警告 :只是告诉您您没有为硒驱动程序定义任何附加

  • 我已经将log4j放入了buildpath中,但在运行应用程序时会收到以下消息: 这些警告意味着什么?这里的附加符是什么?

  • 下面是我的log4j.properties文件内容,文件放在Eclipse中的src文件夹中。