根记录器忽略记录器级别

2024-04-25

根记录器在(我认为)应该记录时不会记录:

import logging

# NOTE: I make sure to set the root logger level to logging.DEBUG
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)

logging.debug('This is a debugging test.')

根据我的理解,这应该记录一些东西,但它什么也没做。 快速的谷歌搜索并没有帮助我解决这个问题,也没有帮助我解决这个问题。官方文档 https://docs.python.org/3/library/logging.html.

另一方面,如果我使用logging.warning代替logging.debug,它确实有效。

我究竟做错了什么?

EDIT:

检查当前级别logging.getLogger().getEffectiveLevel()表明我的水平仍然是30,就像在调用之前一样logging.basicConfig.

检查logging.getLogger().isEnabledFor(logging.DEBUG)有效地告诉我根记录器级别未启用logging.DEBUG.


EDIT:原来OP(我)的麻烦是因为已经打电话了logging.debug before logging.basicConfig,从而将配置设置为默认值并调用logging.basicConfig正如@SmCaterpillar 所指出的,被忽略了。

Although,此替代解决方案允许您在执行后“强制”根记录器级别basicConfig已经设置了,还是有用的!


找到了一个“解决方案”:

# […] Previous code

# Sets the root logger level
logging.getLogger().setLevel(logging.DEBUG)

logging.debug('Test')  # Displays 'DEBUG:root:Test'

但它不执行我给出的格式logging.basicConfig.

这就是说我已经很满意了:这已经是某种进步了。即使不完全符合我期望的格式,记录也总是比不记录要好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根记录器忽略记录器级别 的相关文章

随机推荐

  • AndroidManifest.xml 中的使用库

    我目前在我的 AndroidManifest xml 中有这个 使用库 android name com google android maps android required false google 地图 api 的指定要求不是强制性
  • Google Places API 返回“不支持的字段名称‘address_component’”

    我正在使用 Google Places API 查找印度一个小村庄的地址详细信息 如下所示文档 https developers google com maps documentation places web service search
  • Chart.js 更改图例切换行为

    我有一个来自 Chart js 的雷达图 目前 它加载了所有效果很好的数据 并且支持图例的行为是通过单击图例标签来关闭与图例相关的数据 我希望能够单击图例标签 然后关闭所有其他标签 并可能引入 全部 选项 这对于 Chart js 可行吗
  • 修改表添加外键失败

    我有3个表 它们都有innodb引擎 video url title desc country url gt primary key videoCat url category url category gt primary key fav
  • Angular 4 Typescript - 构造随后 7 天的日期数组

    我想构造一个包含 7 个日期的数组 这些日期将是 SelectedDate 后的 7 天 我在 Component ts 中编写了以下代码 public selectedWeekDates Date public selectedWeek
  • 单元测试应该默认使用“抛出异常”吗?

    换句话说 我应该附加throws Exception我的所有或大部分单元测试 当您使用 Android Studio 生成单元测试 命令 N gt 测试方法 时 它默认添加抛出异常 前任 Test public void someMetho
  • 触发其他配置并使用 Jenkins 发送当前构建状态

    在某个 Jenkins 配置中 我希望触发另一个配置 post建立行动 我想将当前构建状态作为参数之一传递 IE 表示状态 SUCCESS FAIL UNSTABLE 的字符串 int 我有两个选项来创建构建后触发器 Using the j
  • 示例软键盘双字母

    我是 android 的初学者开发人员 我下载了示例 SoftKeyboard 的源代码 https android googlesource com platform development android 2 3 3 r1 1 samp
  • 添加新数据源(mysql)wildfly

    我正在尝试将新的数据源 mysql jdbc 驱动程序添加到我的 Wildfly 服务器 我创建了文件夹 wildfly x x x modules system layers base com mysql main 我这里有 jdbc j
  • 我可以将 Coq 证明提取为 Haskell 函数吗?

    自从学了一点 Coq 以来 我就想学着写一个所谓的除法算法的 Coq 证明 它实际上是一个逻辑命题 forall n m nat exists q nat exists r nat n q m r 我最近利用我学到的知识完成了这项任务软件基
  • 如何对二维 Java 数组进行切片?

    folks 我正在使用 JTables 并有一个二维数组 我需要删除数组中每一行的第一个元素 除此之外还有更简单的方法吗 int height data2 length int width data2 0 length Object dat
  • 需要帮助了解主干中嵌套视图的基础知识

    我一直在阅读有关backbone js 中嵌套视图的大量内容 并且了解其中的很多内容 但仍然令我困惑的一件事是 如果我的应用程序有一个 shell 视图 其中包含页面导航 页脚等子视图 这些子视图在使用应用程序的过程中不会改变 那么我是否需
  • 将 ListView 中的 SelectedItems 绑定到 Windows Phone 8.1 中的 ViewModel

    我有以下代码
  • Python / Pandas - 用于查看数据帧或矩阵的 GUI [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Pandas 包 它创建一个 DataFrame 对象 它基本上是一个标记矩阵 通常 我的
  • Laravel mix,在resources中调用app.js

    我有一个带有 laravel 和 vuejs 的网络应用程序 我使用 laravel mix 并且在我的 webpack mix js 中我有 mix js resources assets js app js public js 在我看来
  • 我收到来自 php 和 js 的空白电子邮件

    请帮助我解码真正的问题是什么 问题是 尽管我对此代码进行了所有调整和研究 但我仍然收到一封空白电子邮件 下面是我的 html javascript ajax 和 php 代码 HTML 代码 名为 contact html 的文件
  • PHP echo 与 PHP 短 echo 标签

    它们的安全性相同吗 我被告知使用 或者 当在 JavaScript 内回显数据时 它必须是 JavaScript 编码的
  • SQL Server 的 mysqldump 等效项

    SQL Server 是否有与 MySQL 具有 mysqldump 等效的模式和数据导出 转储工具 试图重新定位旧的 ASP 站点 但我对在 Windows 服务器上工作感到很不高兴 注意 DTS 导出实用程序自己似乎可以导出数据 而无需
  • 高效生成所有小于 N 的合数(及其因式分解)

    我想构建一个高效的 Python 迭代器 生成器 它会产生 所有小于 N 的合数 连同他们的质因数分解 我将其称为 composites with factors 假设我们已经有小于 N 的素数列表 或者可以执行相同操作的素数生成器 请注意
  • 根记录器忽略记录器级别

    根记录器在 我认为 应该记录时不会记录 import logging NOTE I make sure to set the root logger level to logging DEBUG logging basicConfig fo