问题标签 [python-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1172 浏览

python - 在 python 中登录到控制台时显示额外的字段

我有一个logging.ini文件的基本设置,以便我的控制台打印人类可读的日志,但我将 JSON dict-like 日志打印到文件,所以我的 ELK 可以处理日志。

记录消息时,我经常添加额外的字段,即席,如下所示:

因此该字段more:15出现在我文件的日志行中。但它不会出现在控制台中,它只会说2019-06-12 13:25:02,189 root - INFO:hello world, I like the word cowabanga . 我需要做什么才能拥有15more:15出现(我不关心额外参数的出现顺序,只是它们出现)?

0 投票
1 回答
117 浏览

python - 如何为我的脚本创建一个带有 python“日志”模块的日志包?

我正在尝试为我的 python 脚本创建一个日志包,允许我在 ELK 服务器上记录我的错误。问题是我无法创建我的 Logging 类的实例来获取脚本中存在的所有日志。

在我的包文件中,我设置了一个处理程序,允许我从脚本中检索所有事件。问题是我不能仅通过类 Logging 使用我的日志消息。当我的包中已经进行了调用时,我被迫在我的每个模块中使用 python 日志记录包。

包裹记录

示例脚本

等待您的反馈以寻求解决方案。

0 投票
1 回答
515 浏览

python - ROS logger 禁用 Python logger

我遇到了 Python 记录器和 rospy 记录器的问题。一开始,一旦 ROS 节点初始化,Python 记录器就会停止记录。我试图通过向记录器添加流处理程序来解决问题。现在它只记录 ROS 节点是否初始化。

我在ROS git中阅读了有关 rospy 和 python 日志记录冲突的信息,但似乎没有很好的解决方案来专门使用 python 记录器并且独立于 ROS 记录器来处理我的代码。

一些初始化记录器的模块:

启动 ROS 节点的其他模块

0 投票
1 回答
189 浏览

python - 涉及外部日志配置文件时服务无法启动

我正在使用 PyInstaller 将我的多模块 Python 应用程序捆绑到一个one-fileexe 中。这个应用程序的入口点是一个扩展模块win32serviceutil.ServiceFramework——所以它是作为 Windows 服务运行的。当我尝试使用此应用程序提供用户可配置的记录器 ini 文件时出现问题。在我的主模块中,我设置了记录器,

我的 PyInstaller 命令如下:

打包后,我将生成的 exe 安装为服务,并成功注册为 Windows 服务。但是,当我尝试启动它时,它失败了。

有趣的是,在我配置的位置创建了一个空日志文件。所以这意味着 1) 应用程序确实读取了我的配置文件,并且 2) 这里没有权限问题。有没有人试图建立这样的东西来帮助阐明我可能会错过的东西?

0 投票
1 回答
1628 浏览

python - 在 python 中记录异常消息的正确方法

在 Python 中记录异常的最正确方法是什么?

有些人 lo​​g just e,另一个 logs 属性e.message(但对于某些例外情况可能会丢失)。
一种用于str()捕获异常描述,但它不包含错误类型,有时没有它是无用的。
实际上repr()会返回错误类型和描述,但它并不那么受欢迎(在我看到的项目中)。

另一个相关的问题:这如何影响收集和分组错误/警报(如 Sentry)的服务。它们还应该包含一些关于具体错误的信息。

所以想再次开启这个讨论:哪种记录异常的方式最好用?

在这里找到了一个旧的讨论,但它不使用logging库,也许从那一刻起发生了一些变化。

PS我知道如何获得追溯和任何其他相关信息。这里的问题应该是记录异常和错误的一般规则。

0 投票
2 回答
3444 浏览

python - 在 pytest 中禁用特定的记录器

在我的项目中,我正在使用 pdfplumber 解析一些 PDF 文件。在测试执行(pytest)期间,我有时希望查看代码中的日志以进行调试。这可以通过设置来完成--log-cli-level=DEBUG。但是,这会打开来自所有代码的消息,还有 pdfplumber - 这非常冗长并且使调试变得困难。有没有办法在测试运行期间选择性地启用/禁用记录器?

pytest 4.6.3
蟒蛇 3.7.3

感谢帮助!

0 投票
1 回答
519 浏览

python - 通过java执行python代码将日志保存到文件

我想通过java执行一个python脚本。我为此使用了下面的示例代码。问题是当我通过命令行执行 python 脚本时,它会将日志保存到 log_test.log 文件中。但是当我从 java 日志执行时没有写入日志文件,我使用的是 python 3.7 和 java 1.8

Python 脚本

Java 代码

0 投票
0 回答
176 浏览

python - 调用 logging.getLogger(__name__) logger.handlers 后的烧瓶丢失

我没有使用内置的烧瓶日志记录机制。取而代之的是,我创建了以下内容,这些内容是从烧瓶应用程序的主要内容中创建的。

info 和日志记录 id 正在日志文件中创建,但是如果我从另一个模块调用记录器,我发现处理程序是空的并且没有创建日志。

入口点如下

定义运行():

这里可能出了什么问题?我怎样才能使这项工作?

0 投票
1 回答
48 浏览

python - 编写我的装饰器的 Pythonic 方式是什么?

我的目标是在我的程序遇到意外行为时引发 SystemExit 并记录错误。

我正在做类似的事情:

为了避免代码中的重复,我尝试编写一个装饰器来在每个 logger.error 调用时引发 SystemExit:

所以我的问题是:我的装饰器是pythonic吗?如果不是,最好的 Pythonic 方式是什么?(我看到人们使用@something,但我不明白它的用法)。

谢谢!

0 投票
0 回答
134 浏览

logging - 使用 Tweepy 的 Python 脚本无故停止

我有一个屏幕名称列表(几百个)和他们的推文(ID)。通过该列表,我使用 Twitter API 来获取推文状态和转发者的 ID。我正在使用我在下面显示的代码,它工作正常。

问题是,在初始列表中的几个屏幕名称(10-15)之后,python 脚本停止而不打印任何错误。最初,我正在运行脚本:

有时不会“捕获”所有打印错误。所以我实现了一个带有日志记录的回溯,并且回溯中没有错误。脚本只是出于某种原因停止。

知道为什么它会停止或我应该如何捕捉错误?