问题标签 [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.
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
. 我需要做什么才能拥有15
或more:15
出现(我不关心额外参数的出现顺序,只是它们出现)?
python - 如何为我的脚本创建一个带有 python“日志”模块的日志包?
我正在尝试为我的 python 脚本创建一个日志包,允许我在 ELK 服务器上记录我的错误。问题是我无法创建我的 Logging 类的实例来获取脚本中存在的所有日志。
在我的包文件中,我设置了一个处理程序,允许我从脚本中检索所有事件。问题是我不能仅通过类 Logging 使用我的日志消息。当我的包中已经进行了调用时,我被迫在我的每个模块中使用 python 日志记录包。
包裹记录
示例脚本
等待您的反馈以寻求解决方案。
python - ROS logger 禁用 Python logger
我遇到了 Python 记录器和 rospy 记录器的问题。一开始,一旦 ROS 节点初始化,Python 记录器就会停止记录。我试图通过向记录器添加流处理程序来解决问题。现在它只记录 ROS 节点是否初始化。
我在ROS git中阅读了有关 rospy 和 python 日志记录冲突的信息,但似乎没有很好的解决方案来专门使用 python 记录器并且独立于 ROS 记录器来处理我的代码。
一些初始化记录器的模块:
启动 ROS 节点的其他模块
python - 涉及外部日志配置文件时服务无法启动
我正在使用 PyInstaller 将我的多模块 Python 应用程序捆绑到一个one-file
exe 中。这个应用程序的入口点是一个扩展模块win32serviceutil.ServiceFramework
——所以它是作为 Windows 服务运行的。当我尝试使用此应用程序提供用户可配置的记录器 ini 文件时出现问题。在我的主模块中,我设置了记录器,
我的 PyInstaller 命令如下:
打包后,我将生成的 exe 安装为服务,并成功注册为 Windows 服务。但是,当我尝试启动它时,它失败了。
有趣的是,在我配置的位置创建了一个空日志文件。所以这意味着 1) 应用程序确实读取了我的配置文件,并且 2) 这里没有权限问题。有没有人试图建立这样的东西来帮助阐明我可能会错过的东西?
python - 在 python 中记录异常消息的正确方法
在 Python 中记录异常的最正确方法是什么?
有些人 log just e
,另一个 logs 属性e.message
(但对于某些例外情况可能会丢失)。
一种用于str()
捕获异常描述,但它不包含错误类型,有时没有它是无用的。
实际上repr()
会返回错误类型和描述,但它并不那么受欢迎(在我看到的项目中)。
另一个相关的问题:这如何影响收集和分组错误/警报(如 Sentry)的服务。它们还应该包含一些关于具体错误的信息。
所以想再次开启这个讨论:哪种记录异常的方式最好用?
在这里找到了一个旧的讨论,但它不使用logging
库,也许从那一刻起发生了一些变化。
PS我知道如何获得追溯和任何其他相关信息。这里的问题应该是记录异常和错误的一般规则。
python - 在 pytest 中禁用特定的记录器
在我的项目中,我正在使用 pdfplumber 解析一些 PDF 文件。在测试执行(pytest)期间,我有时希望查看代码中的日志以进行调试。这可以通过设置来完成--log-cli-level=DEBUG
。但是,这会打开来自所有代码的消息,还有 pdfplumber - 这非常冗长并且使调试变得困难。有没有办法在测试运行期间选择性地启用/禁用记录器?
pytest 4.6.3
蟒蛇 3.7.3
感谢帮助!
python - 通过java执行python代码将日志保存到文件
我想通过java执行一个python脚本。我为此使用了下面的示例代码。问题是当我通过命令行执行 python 脚本时,它会将日志保存到 log_test.log 文件中。但是当我从 java 日志执行时没有写入日志文件,我使用的是 python 3.7 和 java 1.8
Python 脚本
Java 代码
python - 调用 logging.getLogger(__name__) logger.handlers 后的烧瓶丢失
我没有使用内置的烧瓶日志记录机制。取而代之的是,我创建了以下内容,这些内容是从烧瓶应用程序的主要内容中创建的。
info 和日志记录 id 正在日志文件中创建,但是如果我从另一个模块调用记录器,我发现处理程序是空的并且没有创建日志。
入口点如下
定义运行():
这里可能出了什么问题?我怎样才能使这项工作?
python - 编写我的装饰器的 Pythonic 方式是什么?
我的目标是在我的程序遇到意外行为时引发 SystemExit 并记录错误。
我正在做类似的事情:
为了避免代码中的重复,我尝试编写一个装饰器来在每个 logger.error 调用时引发 SystemExit:
所以我的问题是:我的装饰器是pythonic吗?如果不是,最好的 Pythonic 方式是什么?(我看到人们使用@something,但我不明白它的用法)。
谢谢!
logging - 使用 Tweepy 的 Python 脚本无故停止
我有一个屏幕名称列表(几百个)和他们的推文(ID)。通过该列表,我使用 Twitter API 来获取推文状态和转发者的 ID。我正在使用我在下面显示的代码,它工作正常。
问题是,在初始列表中的几个屏幕名称(10-15)之后,python 脚本停止而不打印任何错误。最初,我正在运行脚本:
有时不会“捕获”所有打印错误。所以我实现了一个带有日志记录的回溯,并且回溯中没有错误。脚本只是出于某种原因停止。
知道为什么它会停止或我应该如何捕捉错误?