问题标签 [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.
java - 使用 logback 屏蔽 json 值
我在我的 Spring Boot 项目的 logback 配置中使用了下面的 logstash 编码器。
我想屏蔽 json 日志消息中的敏感数据。我尝试了以下方法来掩盖键“代码”的值。但它不起作用。
如何在 logstash appender 中屏蔽 json 值?
apache-nifi - 无法将日志从 Apache NiFi 发送到 Graylog
我正在尝试从 Apache NiFi 发送日志。没有错误,但在 graylog 服务器上没有收到它们。以下是我的一个独立程序中的配置。
这是我用来从我的独立程序将数据发送到 graylog 的配置。这工作得很好。我可以使用此配置在 Graylog 上查看日志。现在我把这个appender“graylog”粘贴到Apache NiFi的logback.xml中,添加了root和logstash-logback jar。但是当我运行 NiFi 时,graylog 服务器没有收到日志。关于如何将日志发送到 Graylog 的任何帮助将不胜感激
json - Logstash logback 编码器不屏蔽嵌套字段
我正在尝试使用该MaskingJsonGeneratorDecorator
方法来屏蔽附加到日志消息的嵌套对象中的字段Markers.appendRaw("body": <my-json-value>)
。
此类 JSON 字符串的一个示例是
我已经以logback-spring.xml
这种方式设置了文件
预期的结果是:
但是我没有戴口罩。
我试图调试代码,似乎PathBasedFieldMasker
该类无法深入研究body
对象。
作为一个临时解决方案,我构建了一个在记录之前屏蔽 JSON 字符串的类,但它对我来说似乎不是最理想的。
我应该做些什么来使掩码在嵌套字段中正确发生?
logback - SLF4J + Logback:日志级别ALL的奥秘是什么?
晚上好
我有一个奇怪的问题...:
Logback 声明了这些日志记录级别:
TRACE
, DEBUG
, INFO
, WARN
, ERROR
,ALL
和OFF
.
根据定义,该TRACE
级别也包括所有其他日志级别(DEBUG
、INFO
、WARN
、ERROR
)。
如果我们现在使用 获取所有记录的消息TRACE
,那么级别的原因是什么ALL
?它在任何方面都有用吗?
这可能是我们可以定义自己的日志级别的微弱暗示吗?如果这是真的:有谁知道如何在 SLF4J + logback 中使用自己的日志级别的示例?
非常感谢您的问候,Thomas
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=****
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"}
因此我可以使用类似的东西
它会影响两次传球
spring - 我们可以将 logback-spring.xml 和 logback-access.xml 合并为一个文件吗?
有什么方法可以将 logback-spring.xml 和 logback-access.xml 组合为 spring-boot 应用程序中的单个文件?
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
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 中配置为:
logstash-logback-encoder - Logstash LoggingEventCompositeJsonEncoder - 如果为空,如何省略 nestedField
我正在使用LoggingEventCompositeJsonEncoder
本logback.xml
示例中配置的 a:
它正在生成这样的日志:
我只想要thrown
Throwable 存在时的字段输出。有没有办法使用提供的类来完成这个logstash-logback-encoder
?如果没有,是否有关于需要覆盖自定义类/方法的建议?