Slf4j语法支持带Logstash和Logback的结构化参数

问题描述

是否有用于记录的单一SLF4J语法,可同时使用这两种语法:

  1. ch.qos.logback.classic.encoder.PatternLayoutEncoder->登录
  2. net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder-> Logstash

例如,

当前行为

log.info("Name -> [{},{}]",kv("firstName",firstName),kv("lastName",lastName));

在这里,我需要为{},{}添加values,以便在使用Logback PatternLayoutEncoder时打印出来。

使用{},{}时是否可以在没有values的情况下写相同的日志行并仍然打印出PatternLayoutEncoder?例如:

期望的行为

同时适用于以下两种情况的单一语法:

log.info("Name",lastName));

即使不包括PatternLayoutEncoderkv也应该能够推断出结构化参数Name并将它们附加到curly placeholders

方法的另一个优点是JSON message也将没有冗余信息(自定义字段中已经存在

这可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)