如何使用python logstash logger设置额外的to level字段,?

2024-05-15 16:21:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前使用的是python logstash异步库,它实际上只是python logstash的包装器。在

https://python-logstash-async.readthedocs.io

我试着阅读他们的文档,以便弄清楚如何为我发送的消息设置额外的顶级字段。在

目前,我只能向记录器提供的extra对象添加其他字段。在

但是extra字典意味着我所有的额外字段都不在顶层。在

而不是发送:

{
 "message":"blah"
 "extra": {
  "blax":"baz"
 }
}

我想发送:

^{pr2}$

他们的文件很快提到了这种可能性:https://python-logstash-async.readthedocs.io/en/stable/config.html?highlight=tags

但在我的一生中,我不知道如何真正地添加客户配置。在

我需要一些代码示例来使用自定义配置,或者了解在消息中设置顶级字段的任何其他方法。在


Tags: 对象文档httpsio消息messageasync字典
1条回答
网友
1楼 · 发布于 2024-05-15 16:21:02

我刚找到一个快速的方法,将extra字段添加到一个常量变量中:

from logstash_async.constants import constants
constants.FORMATTER_LOGSTASH_MESSAGE_FIELD_LIST.append('my_new_top_field')
logger.info('blah',extra={'my_new_top_field':'bar'})

似乎导致了这个消息

^{pr2}$

正在发送。在

解决了我的问题。但是,如果有人提出使用config对象的“正确”解决方案,我将保留这个选项。在

相关问题 更多 >