问题标签 [structlog]

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 投票
2 回答
460 浏览

python - 如何在 python 日志记录模块中指定级别?

我需要两个处理程序。一个用于文件记录,另一个用于控制台中的流记录。我需要为每个处理程序指定级别。请注意,我的级别将类似于以下级别。

流处理程序 --> 信息

文件处理程序 --> 警告、错误、严重

这是我的代码。

现在,它必须像这样运行:

我需要禁止流处理程序记录warningerrorcritical记录级别。有没有办法过滤这个处理程序?

0 投票
1 回答
230 浏览

structlog - 无法弄清楚如何在使用 structlog 写入磁盘时关闭彩色日志记录

我刚刚开始学习如何使用structlog,我很难弄清楚如何在写入文件时关闭彩色日志记录。本质上,我所做的是将与标准日志记录模块一起使用的旧代码转换为与 structlog 一起使用 - 这就是我想出的:

我不知道该怎么做是在哪里插入行以更改格式化程序,以便在将日志记录输出保存到文件时不使用彩色输出。我猜我可以卸载colorama,但这似乎违背了实际学习如何使用 structlog 的目的。我已经仔细研究了 structlog 手册,但这对我来说没有意义,而且我似乎尝试的一切都会引发错误,所以任何指导都将不胜感激!

0 投票
2 回答
413 浏览

python - 无法使用日志记录控制 structlog

我无法禁用默认情况下通过以下方式打开的日志记录structlog

下面是我的代码:

输入文件包含:

代码工作正常,除了我希望摆脱终端中显示的日志,因为我尝试了多种方法。

0 投票
2 回答
453 浏览

python - Python 结构日志 JSON

我目前正在使用 python structlog JSONRenderer 并希望更改我的日志配置以将事件呈现为第一个 JSON 属性以获得更好的可读性。

当前配置:

当前日志调用站点:

电流输出:

期望的输出:

任何帮助将不胜感激。

0 投票
2 回答
32 浏览

python - 使用 Structlog 获取最后一个日志值并将其作为变量传递给函数

目前我正在尝试实现一个函数调用,该函数调用将失败的消息从转换器发送到带有 Kafka 的 DLQ 主题。作为 DLQ 消息的一部分,我想包含我们也记录的异常错误。

编码:

我需要获取最新 log.error() 调用的值并将其分配给变量:error_message

我在另一个异常块中调用了这个完全相同的函数,但它在 log.error() 调用中具有不同的值,所以我需要一些能够获取最后/最新错误消息的东西。

0 投票
1 回答
30 浏览

python - 使用 structlog 隐藏控制台

structlog 可以与pythonw一起使用以仅登录文件吗?

使用 pythonw 运行 python 代码时导入 structlog 失败,因为sys.stdoutis None. 调用时
在文件中引发错误。structlog/_config.pysys.stdout.isatty()

这是一个揭示问题的简单测试。

https://github.com/hynek/structlog/issues/313

0 投票
2 回答
85 浏览

python - 用 structlog 包装“py.warnings”记录器以添加处理器

我有一个自定义记录器,包括处理器、处理程序等。我想包装我理解的警告使用的“py.warnings”记录器,以便我的处理器被“注入”。但是,运行以下代码不会更改打印到控制台的警告。

0 投票
0 回答
43 浏览

python - Celery 任务重传失败后如何从记录器中隐藏异常转储?

我有一个带有自动重传的 Celery 任务设置,因为它轮询外部 REST API。如果 API 无法访问,则重新传输工作正常,除了在最后一次重试后它抛出task_failed然后转储页面的原始 HTML 和 CSS 代码,上面写着Sorry! The page you’re looking for cannot be found.

假设 HTML 和 CSS 代码来自任务异常,我的问题是如何配置任务(或记录器)以隐藏异常转储?

这就是我的代码的样子:

输出如下所示:

0 投票
1 回答
167 浏览

python - Structlog:如何测试哪个处理程序发出了什么

我在我的项目中使用 structlog,我想(单元)测试哪个处理程序发出了哪个消息。有没有规范的方法来做到这一点?我注意到 pytest-structlog 但在那里找不到任何此类功能。或者有什么我可以从 stdlib / pytest 中使用的东西吗?

所以假设我的最小例子看起来像

0 投票
1 回答
77 浏览

python - 一次更改所有 Connexion 记录器的记录级别

有没有办法停止或减少日志记录?

你可以

  • 将所有应用程序日志记录限制在某个级别(调试、信息、警告、...) - 这是广泛且不合适的
  • 将具体的连接记录器(即connexion.operations.abstract)限制在某个级别 - 这太窄了,连接有很多不同的记录器,这可能有利于连接本身的开发,但在其他方面很麻烦
    • 通过这种方式,我设法创建了许多connexion.*记录器的列表并将记录减少到一定数量(使用structlog.get_logger(logger_name).setLevel(logging.WARNING)),但是在 DEBUG 级别上仍然有一些巨大的日志以开头
      • Attaching x-scope to {
      • Ref #/components/
      • Dereferencing {

有没有办法摆脱这些日志?或者甚至更好地通过通配符选择记录器?即connexion.*

感谢您的回答。

迈克尔

PS:在 Connexion Github 上问了同样的问题:https ://github.com/zalando/connexion/issues/1417