如何在 python 2.6 中使用日志记录 NullHandler

2023-12-05

目前我的大部分代码都设计为在 python 2.76 上运行。因此,我编写的库使用以下代码,以便我的库的任何使用者都可以拥有来自该库的调试日志记录:

所以在每个库文件中我都有这个:

log = logging.getLogger(__name__)
log.addHandler(logging.NullHandler())

这样,如果使用我的库的客户端脚本实例化记录器对象,该库也将具有日志输出。

然而,我现在需要调整这个库,以便它在 python 2.6 上运行,并且它抱怨这段代码:

Traceback (most recent call last):
  File "./LCMTool.py", line 36, in <module>
    from lcm_zfssa  import *
  File "/devel/v2/lcm_zfssa.py", line 20, in <module>
    log.addHandler(logging.NullHandler())
  AttributeError: 'module' object has no attribute 'NullHandler'

有没有办法调整它,以便它可以与 python 2.6 一起使用?

感谢您的帮助。


根据您的问题的分布情况,解决方案来自Python指南(最终从请求来源)可能会起作用:尝试导入 NullHandler 并在except ImportError子句,像这样定义类:

# Set default logging handler to avoid "No handler found" warnings.
import logging
try:  # Python 2.7+
    from logging import NullHandler
except ImportError:
    class NullHandler(logging.Handler):
        def emit(self, record):
            pass

logging.getLogger(__name__).addHandler(NullHandler())

但如果使用日志命名空间,您将需要插入该类:

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

如何在 python 2.6 中使用日志记录 NullHandler 的相关文章

  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 如何在 Logstash 中将一个事件的字段引用到另一个事件?

    我目前正在处理日志 其中一些内容如下所示 00 19 59 771 07120 evtThread TRC gt Cem lt Core1 CALL STATE 00 20 00 199 05768 BCMApplicationThread
  • 如何使用 Serilog ForContext

    我是 Serilog 新手 很难弄清楚如何使用上下文功能 当我运行下面的代码时 输 出文件不包含报告 ID 我缺少什么想法吗 var logger new LoggerConfiguration WriteTo File C Log txt
  • 我想创建处理程序来捕获 Tomcat 上 Web 应用程序的所有日志,并且

    我想创建处理程序来捕获 Tomcat 上 Web 应用程序的所有日志 我创建了我的 Handler 类 编译它并安装 CATALINA HOME lib and common loader有这个目录 之后我修改了logging proper
  • Django 使用用户/IP 进行日志记录

    我正在使用 logging 模块来记录大量消息 我想将 用户 request user 添加到日志中 但是 虽然它在视图函数中可用 但我不想将其传递给所有助手 有谁知道这个方法吗 我正在考虑以某种方式跟踪跟踪 直到找到参数中带有 请求 的函
  • 如何用Java写入OS系统日志?

    Mac OS 有一个名为 Console 的应用程序 其中包含记录的消息 错误和故障 我相信 Windows 中的等效项是事件查看器 我想 Linux 上也有一个 但我不知道它是什么 也不知道它在哪里 是否可以像这样从 Java 输出获取消
  • LogRecord 没有预期的字段

    在使用 logging 模块的Python中 文档承诺LogRecord实例将具有许多属性 这些属性在文档中明确列出 然而 情况似乎并不总是如此 当我不使用日志记录模块的 basicConfig 方法时 下面的程序显示属性 asctime
  • 从远程托管上的 PHP 获取 PHP 错误日志

    是否有 PHP 函数或其他方式以字符串形式获取 PHP 错误日志 我需要这个 因为我无法访问在其他人的服务器上运行的站点的错误日志 他提出通过电子邮件将错误日志发送给我 但这不太方便 有什么方法可以将错误日志输出到 PHP 页面吗 我意识到
  • 覆盖 logback 配置

    有什么方法可以覆盖 logback 配置吗 我知道我们在名为的文件中定义了 logback 配置logback xml 通常存储在路径中src main resources 并且我知道通过使用
  • 如何在 Python 中的函数入口、内部和退出处进行日志记录

    我希望能够使用 Python 日志记录工具在我的代码中进行简单且一致的日志记录 我能够执行以下操作 我希望所有现有 未来的模块和函数都有 输入 和 完成 日志消息 我不想添加相同的代码片段来定义日志记录参数 如下所示don t want t
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 带有 RotatingFileHandler 的 Python 3 记录器超出 maxBytes 限制

    我使用以下代码来限制日志文件的大小 最小示例 import logging from logging handlers import RotatingFileHandler Set up logfile and message loggin
  • Heroku Rails 应用程序级别不记录日志

    我在 Heroku 上有一个 Rails 应用程序 它没有在应用程序级别进行日志记录 当前版本 红宝石1 9 3 导轨3 1 3 在 config environment development rb 中有以下几行 config logge
  • 日志锻造强化修复

    我正在使用 Fortify SCA 来查找我的应用程序中的安全问题 作为大学作业 我遇到了一些无法解决的 日志锻造 问题 基本上 我记录一些来自 Web 界面的用户输入的值 logger warn current id not valid
  • Log4net不会将日志写入日志文件

    我使用 Log4net 创建了一个简单的场景 但我的日志附加程序似乎不起作用 因为消息没有添加到日志文件中 我将以下内容添加到 web config 文件中
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • PHP 从日志事件中获取行号

    好的 我还有一个问题HERE https stackoverflow com questions 3213423 php how could i make this class better suggestions feedback wel
  • 如何使用 log4j2.xml 配置 hibernate 日志记录?

    我最近切换到 Apache log4j2 但仍然找不到使用 log4j2 xml 配置 hibernate 日志记录的方法 因为我找不到解决此问题的方法 所以我仍然显式使用 log4j properties 文件进行休眠 这不是最好的解决方
  • Serilog 破坏多个日志?

    这实在是太离奇了 我有 2 个完全独立的程序 它们都使用 Serilog 例如 Log Logger new LoggerConfiguration MinimumLevel Debug Filter ByExcluding e gt e
  • cf.net 异常和其他日志记录

    我想向在 WM6 Pro 上运行的 cf net 应用程序添加一些日志记录功能 我正在研究记录异常和一些更敏感的代码部分 我希望将日志存储在本地 即在设备上 并将它们可靠地上传到服务器 它们需要排队 我的应用程序偶尔会连接 有谁知道 log

随机推荐

  • 使输入拇指比其他拇指更大

    这里的 React 开发人员试图通过编码来学习 这里我有一个滑块 我试图使拇指变大 但它不会比它所在的输入更大 正如你所看到的 如果我使拇指变大 它不会完全显示它 关于如何使它看起来像我想要的有什么建议吗 英语不是我的母语 所以可能会有错误
  • C#中如何获取变量的数据类型?

    如何找出某个变量保存的数据类型 例如 int string char 等 我现在有这样的事情 private static void Main var someone new Person Console WriteLine someone
  • 反应选择的默认值,当我想发布具有空白页面输出的数据时,复选框不起作用

    我无法将获取的数据作为默认值放入下拉列表 反应选择 和复选框中 我有显示的下拉菜单 好 但默认值dishId 1 is Medium 所以我应该看到在我的下拉列表中已经选择了Medium 但事实并非如此 评论的问题相同 export def
  • DllImport 与 LoadLibrary,最好的方法是什么?

    我通常在 c NET 中使用 Win32 API 但不要在一份申请中声明所有内容 有时通常使用 user32 有时使用 gdi32 我认为当我声明所有 api 函数时 它们会使用大量内存 在 NET 中使用 API 的最佳方式是什么 当您编
  • Cordova - 内部超链接始终在 Safari 中打开

    我对 Cordova 很陌生 所以我可能不完全理解它的用途 让我从我总体上想要实现的目标开始 我们有一个支持移动设备的 asp net 网站 我基本上只是想用 iPhone 应用程序来包装它 当然 该站点在 IIS 服务器上运行 因此我只需
  • Java中捕获异常的顺序

    如果我没记错的话 应该首先捕获异常的子类 但是必须捕获任何 RuntimeException 和一个具体的检查异常 这应该首先捕获 try catch RuntimeException e catch IOException e 这个顺序正
  • Java 8 混乱 -> String::compareToIgnoreCase

    有人可以帮助我理解以下内容吗 This works fine List list Arrays asList a b A B str sort String compareToIgnoreCase 我可以将上述方法引用分配给任何变量吗 ho
  • 如何从存根函数参数获取属性?

    我有一项服务 它应该创建一个电子邮件类对象并将其传递给第三类 电子邮件发送者 我想检查由该函数生成的电子邮件正文 服务 php class Service var EmailService protected emailService pu
  • 用于对象导出和类型的 def 文件

    好的 我们有了一个 Node 模块string similaritywho 导出两个这样的函数 参见 https github com aceakash string similarity blob master compare strin
  • 如何在 VS Code linter 中更改 pylint 消息模板?

    我的目标是更改 VS Code 中 linter 消息的 pylint 消息模板 我使用的是 Don Jayamanne 提供的 VS Code 标准 Python 扩展 该扩展现在由 Microsoft 直接维护 默认情况下 消息格式如下
  • 根据布尔掩码将值从一个 numpy 矩阵复制到另一个

    作为一个简单的例子 我有以下内容 import numpy as np a np matrix 0 34 0 44 0 21 0 51 a max np matrix 0 35 0 40 0 20 0 50 我想应用一个转换 其中 a 中大
  • CSS中有什么尖锐的样式吗?

    我想使用 Photoshop 中的 style sharp 在我的 css 中设置一些字体的样式 有谁知道路吗 Photoshop 使用自定义字体渲染引擎 您无法使用 CSS 来模拟该引擎 此外 每个平台都有自己的渲染引擎 CSS无法控制
  • 使用来自 C# 的参数运行控制台应用程序 - GUI 连接建议

    警告 这是一个 C n00b 问题 尝试学习一些 C 同时让我经常运行的控制台应用程序变得更容易 我正在尝试运行控制台应用程序 consoleapp exe 而无需每次手动输入参数 命令通常采用以下形式 C consoleapp exe u
  • 字符串操作 - 还有其他有效的方法吗?

    我有一个要求 我需要在给定的字符串变量中插入转义序列 无论是在哪里单引号出现 我尝试使用split方法以及字符串分词器 没有一个适合我 所以我开发了下面提到的逻辑 在某些情况下它也会失败 谁能给我提供一种最简单的方法来实现这样的要求 pub
  • 查找缺少任意字段的 CouchDB 文档

    我需要一个 CouchDB 视图 可以在其中获取所有没有任意字段的文档 如果您事先知道文档的哪些字段 这很容易做到might没有 例如 这可以让你发送view my view key foo 轻松检索没有 foo 字段的文档 functio
  • 在后台发送 WhatsApp 消息或在 Android 中发送消息并关闭应用程序

    是否可以在不打开应用程序的情况下发送whatsApp消息 在后台发送 就像使用发送短信一样 smsManager sendTextMessage 12546304580 null Test Message null null 如果是这样怎么
  • 删除每个组的第一行

    假设我有一个这样的数据集 df lt data frame group c rep 1 3 rep 2 2 rep 3 2 rep 4 3 rep 5 2 score c 30 10 22 44 6 5 20 35 2 60 14 5 gr
  • OleDB 和混合 Excel 数据类型:丢失数据

    我有一个 Excel 工作表 我想读入数据表 除了 Excel 工作表中的一个特定列之外 一切都很好 ProductID 列是值的组合 例如 and n 我尝试过了让 OleDB 自动处理一切通过将其读入数据集 数据表 但 ProductI
  • 一次仅允许有一个 UITableViewCell 附件复选标记

    我有一个表格视图 其中一个部分包含用户可以 选择 的声音列表 只有当前选择的声音应该显示UITableViewCellAccessoryCheckmark 基本上我已经成功了 然而 当例如底部单元格被选中 我向上滚动表格视图 使选中的单元格
  • 如何在 python 2.6 中使用日志记录 NullHandler

    目前我的大部分代码都设计为在 python 2 76 上运行 因此 我编写的库使用以下代码 以便我的库的任何使用者都可以拥有来自该库的调试日志记录 所以在每个库文件中我都有这个 log logging getLogger name log