问题标签 [logstash-logback-encoder]

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 回答
642 浏览

java - 使用 logback 屏蔽 json 值

我在我的 Spring Boot 项目的 logback 配置中使用了下面的 logstash 编码器。

我想屏蔽 json 日志消息中的敏感数据。我尝试了以下方法来掩盖键“代码”的值。但它不起作用。

如何在 logstash appender 中屏蔽 json 值?

0 投票
0 回答
57 浏览

apache-nifi - 无法将日志从 Apache NiFi 发送到 Graylog

我正在尝试从 Apache NiFi 发送日志。没有错误,但在 graylog 服务器上没有收到它们。以下是我的一个独立程序中的配置。

这是我用来从我的独立程序将数据发送到 graylog 的配置。这工作得很好。我可以使用此配置在 Graylog 上查看日志。现在我把这个appender“graylog”粘贴到Apache NiFi的logback.xml中,添加了root和logstash-logback jar。但是当我运行 NiFi 时,graylog 服务器没有收到日志。关于如何将日志发送到 Graylog 的任何帮助将不胜感激

0 投票
1 回答
174 浏览

json - Logstash logback 编码器不屏蔽嵌套字段

我正在尝试使用该MaskingJsonGeneratorDecorator方法来屏蔽附加到日志消息的嵌套对象中的字段Markers.appendRaw("body": <my-json-value>)

此类 JSON 字符串的一个示例是

我已经以logback-spring.xml这种方式设置了文件

预期的结果是:

但是我没有戴口罩。

我试图调试代码,似乎PathBasedFieldMasker该类无法深入研究body对象。

作为一个临时解决方案,我构建了一个在记录之前屏蔽 JSON 字符串的类,但它对我来说似乎不是最理想的。

我应该做些什么来使掩码在嵌套字段中正确发生?

0 投票
0 回答
15 浏览

logback - SLF4J + Logback:日志级别ALL的奥秘是什么?

晚上好

我有一个奇怪的问题...: Logback 声明了这些日志记录级别: TRACE, DEBUG, INFO, WARN, ERROR,ALLOFF.

根据定义,该TRACE级别也包括所有其他日志级别(DEBUGINFOWARNERROR)。

如果我们现在使用 获取所有记录的消息TRACE,那么级别的原因是什么ALL?它在任何方面都有用吗?

这可能是我们可以定义自己的日志级别的微弱暗示吗?如果这是真的:有谁知道如何在 SLF4J + logback 中使用自己的日志级别的示例?

非常感谢您的问候,Thomas

0 投票
1 回答
39 浏览

logstash-logback-encoder - 是否可以使用 logstash-logback-encoder 进行部分屏蔽

我必须掩盖日志中的敏感信息,但只是部分掩盖。例如,我需要将电子邮件 'kate@example.com' 替换为 'k***@e***' 是否可以使用 logstash-logback-encoder 来做到这一点?

目前我使用这个 logback.xml:

有了它,我得到:

{"@timestamp":"2021-12-21T17:17:15.072+02:00","@version":"1","message":"email=********)]", "logger_name":"org.ba.SpringLogginProcessingExampleApplication","thread_name":"main","level":"INFO","level_value":20000}

我更喜欢 LogEvent(email=k****@e*** vs email=****

0 投票
0 回答
19 浏览

logstash-logback-encoder - 是否可以使用 logstash-logback-encoder 部分限制特定路径中的值搜索以进行屏蔽

是否可以通过特定路径限制在 logstash-logback-encoder 中搜索值?假设我只想在消息中屏蔽电子邮件。我有这样的日志:

{"message":"[email=email@example.com,phone=123]","another_path":"mail@leaveit.com"}

所以我只需要用 xxxx 替换 email@example.com,因此将 mail@leaveit.com 保留为 logger_name

{"message":"[email=xxxx,phone=123]","another_path":"mail@leaveit.com"}

因此我可以使用类似的东西

它会影响两次传球

0 投票
1 回答
18 浏览

spring - 我们可以将 logback-spring.xml 和 logback-access.xml 合并为一个文件吗?

有什么方法可以将 logback-spring.xml 和 logback-access.xml 组合为 spring-boot 应用程序中的单个文件?

0 投票
0 回答
31 浏览

spring - Logstash 将日志写入 JSON,但缺少结构化参数

我正在使用 logstash-logback-encoder:7.0.1

我正在记录几个结构化参数,如下所示

注意:该类配备有@Log4j2

但在日志文件中没有看到 JSON 中的参数

logback-spring.xml的如下

更新:我似乎能够在使用 Spring2.5.8而不是 Spring时看到正确的输出2.5.9

更新 2:我似乎已经将此追踪到 log4j 库更新 2.17.1,因为当我切换@Log4j2到时,@Slf4j我可以看到这些字段

更新 3:由于这越来越像一个错误(或至少应该记录的东西),我在这里记录为 GitHub 问题https://github.com/logfellow/logstash-logback-encoder/issues/754

0 投票
1 回答
22 浏览

logging - 使用 logstash logback 编码器时加密 json 日志中的字段

在我们的 scala api 中,我们logstash-logback-encoder用来创建 json 日志。我们想加密一个特定的字段。屏蔽是不够的,因为如果需要来自日志,则需要解密该值。实现这一目标的最佳方法是什么?一种方法可能是创建一个实现,JsonGeneratorDecorator就像有一个用于掩蔽一样。但是鉴于我们知道要屏蔽哪个字段,有没有更简单的方法来实现这一点?


更新:解决方案

我在答案中使用了@Phil Clay 提供的建议。但是,有一个小问题。背后的意图ValueMasker是根据值决定什么/何时屏蔽。例如,使用 RegEx 匹配所有值(net.logstash.logback.mask.RegexValueMasker)。由于它们非常通用的用例,ValueMaskers效率/性能较低。但是,我的用例更具体,因为有一个特定的字段要被屏蔽。根据定义FieldMasker,应该使用,但它不提供值的句柄以允许加密。最后,我创建了一个自定义ValueMasker,但使用了net.logstash.logback.mask.FieldNameBasedFieldMasker如下逻辑:

这可以在 `logback.xml 中配置为:

0 投票
0 回答
11 浏览

logstash-logback-encoder - Logstash LoggingEventCompositeJsonEncoder - 如果为空,如何省略 nestedField

我正在使用LoggingEventCompositeJsonEncoderlogback.xml示例中配置的 a:

它正在生成这样的日志:

我只想要thrownThrowable 存在时的字段输出。有没有办法使用提供的类来完成这个logstash-logback-encoder?如果没有,是否有关于需要覆盖自定义类/方法的建议?