- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在这里有点不知所措。我可以发誓上周早些时候我已经完成了这项工作。今天我又回到了它,但似乎无法让日志记录工作。
在下面的示例脚本中,我希望对我的问题进行相对完整的演示。
测试.py
import logging
logger = logging.getLogger()
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.warning("Testing Warning")
logger.setLevel(60)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.error("Testing Error")
logger.setLevel(50)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.error("Testing Error")
logger.setLevel(40)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.error("Testing Error")
logger.setLevel(30)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.info("Testing Info")
logger.setLevel(20)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.info("Testing Info")
logger.setLevel(10)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.info("Testing Info")
logger.setLevel(0)
print("Logger currently at level '{0}'".format(logger.getEffectiveLevel()))
logger.info("Testing Info")
输出
Logger currently at level '30'
Testing Warning
Logger currently at level '60'
Logger currently at level '50'
Logger currently at level '40'
Testing Error
Logger currently at level '30'
Logger currently at level '20'
Logger currently at level '10'
Logger currently at level '0'
考虑到我使用的是 this,我不知道为什么日志记录模块的行为不同。官方文档来尝试实现它。您可以在接近尾声时看到它如何公然忽略 logger
的级别。我是否以某种方式绕过 logger
而是针对默认值进行记录?我不明白。
谢谢!
最佳答案
您忘记向记录器添加处理程序。在 Python 3.3(及更高版本)上,如果未指定处理程序,则内部 "handler of last resort" ,其级别为 WARNING
,已被使用。因此,即使您的消息是通过记录器发送的,它们也会被内部处理程序丢弃(仅用于捕获错误配置)。在 Python 2.x 上,您会收到打印到 stderr
的一次性消息 - 找不到记录器“root”的处理程序
。
如果你加一行
logger.addHandler(logging.StreamHandler())
在第一次打印之前,你会得到这样的行为:
Logger currently at level '30'
Testing Warning
Logger currently at level '60'
Logger currently at level '50'
Logger currently at level '40'
Testing Error
Logger currently at level '30'
Logger currently at level '20'
Testing Info
Logger currently at level '10'
Testing Info
Logger currently at level '0'
Testing Info
更新:无需“手动添加处理程序”——这只是说明问题所在的最简单方法。您可以使用 basicConfig()
简单地配置日志记录(控制台或文件,有限的选项)或使用 dictConfig()
配置更灵活。这些方法在 Python 2.7 和 3.2(及更高版本)中以相同的方式工作。
关于Python 日志记录模块不遵守 setLevel 低于 '30'(警告)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31191610/
我有 5 个对象,a、b、c。d 和 e。 5个对象的hashcode如下: a => 72444 b => 110327396 c => 107151 d => 2017793190 e => 68
我目前正在为我当前的元素创建媒体查询,我目前面临的问题是某些东西导致我的导航栏在宽度低于 600 像素时无法响应。所发生的情况如附图所示。 这个问题其实我在之前的元素中曾经解决过一次,但是我对比了代码
我正在为网页编写媒体查询,并设法为 768 及以下版本编写媒体查询。但它不能正常工作。我想捕捉大多数 320 像素的手机(iphone4、iphone5、iphone3、asus galaxy 7、s
我开发了一个android应用,我所有android低于api 23的用户都无法连接到服务器,其余的都正常工作,从今天(2020-05-30)开始,在这一天之前多年来一直正常工作。 任何想法是什么原因
我正在上一门加密课,主要是作为学术练习,我一直在尝试获得尽可能高的速度。我发现了一些奇怪的事情,即异或字节数组的成本非常低,但在相同大小的字节数组上使用 arraycopy 的成本更高。我想这一定是一
我启动了一个新的应用程序,它大量使用了 firebase 功能以及支持库。我很快就达到了 65k dex 的限制,尽管考虑到应用程序的简单性,我没有理由应该在那里。我知道我需要排除某些我没有用的依赖项
我在 Lollipop 及以下发生了奇怪的崩溃。尝试从服务器下载文件时出现安全异常,但在运行 Marshmallow 及以上版本的设备中,应用程序不会崩溃。 Logcat: Caused by: ja
我正在构建一个相当简单的网站,我需要它具有一定的响应能力。 现在,当我调整浏览器大小时,导航菜单与 Logo 标题重叠,变得非常困惑。 HTML: Prince Innoce
如演示中所示,maxValue 设置为 2017 年,但图表一直到 2020 年。 如何让图表真正停在 2017 年?它在我的页面上占用了太多空间,因此我想对其进行优化 See demo fiddle
我正在用 python 尝试第二个 Project Euler 问题,想了解为什么我的代码不起作用。 此代码查找低于 400 万的偶数斐波那契数的总和 counter = 2 total = 0 wh
我想回答其中一个问题,这些问题有时是由销售人员试图在预算内进行销售而交给我们开发人员的。 我们有一个客户需要以下内容: 支持 AD 身份验证的文档管理系统(即使服务器可能位于其他位置 - 可能位于 V
我有一系列值(Pandas DF 或 Numpy Arr): vals = [0,1,3,4,5,5,4,2,1,0,-1,-2,-3,-2,3,5,8,4,2,0,-1,-3,-8,-20,-10,
当我创建使用 Google map API v2 的项目时,这条线有问题。 GoogleMap map = ((MapFragment) getFragmentManager().findFragme
如何在 UITableView 下方但在 TabBar 上方放置一个按钮,以便 UIButton 保持静止(不随 tableview 滚动)? 这是一张我想要帮凶的照片:http://i.imgur.
我正在使用 MockMvcResultMatchers 来测试我的 Controller 类。 这是一个示例代码 RequestBuilder request = get("/empl
function randomise(){ var ran_number=Math.floor(Math.random() * 100); return ran_number;
我正在尝试为 iOS9 以下的 NSManagedObjects init(context:) 方法“polyfill”。有没有办法为 iOS10 进行预处理器可用性检查? 这是否有意义,或者是否会出
我对 Web 开发的冒险还很陌生。我在使用的网站上遇到问题。在我达到大约 640px 之前,我的响应式设计没有问题。一旦我达到 640px 或将我的 html 全部压缩到左侧,除了我的主页英雄和导航栏
所以,我遇到的问题真的很难解释,但是,当页面宽度小于 600 像素时,我试图让我的导航行为有所不同。我几乎按照我想要的方式工作,但是当我点击菜单按钮时,当它低于 600px 时,它会在它下面的内容顶部
我在一个多语言网站上工作,我想在它的图标下方放置一个固定语言的菜单 div。我正在使用 Bootstrap 3。
我是一名优秀的程序员,十分优秀!