【问题标题】:How to customize or remove default attributes in Log4j2 - JSON Layout如何在 Log4j2 中自定义或删除默认属性 - JSON 布局
【发布时间】:2020-08-20 13:08:52
【问题描述】:

Spring Boot 2 应用程序中,我已将Log4j2 配置为JsonLayout,如下所示

    ....

    <Appenders>
        <Console name="ConsoleJSONAppender" target="SYSTEM_OUT">
            <JsonLayout complete="false" compact="false">
            </JsonLayout>
        </Console>
    </Appenders> 
    <Logger name="CONSOLE_JSON_APPENDER" level="INFO" additivity="false">
        <AppenderRef ref="ConsoleJSONAppender" />
    </Logger>

    .....

我得到如下输出

    {
            "timeMillis" : 1496306649058,
            "thread" : "main",
            "level" : "INFO",
            "loggerName" : "ConsoleJSONAppender",
            "message" : "Json Message",
            "endOfBatch" : false,
            "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger",
            "threadId" : 1,
            "threadPriority" : 5
    }

输出很好,但我不想要“endofBatch”、“threadPriority”等属性,但它会显示在日志中,如何避免在基于 JsonLayout 的日志中出现不需要的(默认)属性

【问题讨论】:

标签: java logging log4j2 spring-logback spring-boot-2


【解决方案1】:

如果您只想记录 levelloggerName 而不是在您的配置文件中进行如下自定义。

...
<PatternLayout>
    <pattern>{"level":"%p","loggerName":"%c"}</pattern>
</PatternLayout>
...

参数描述在here。在Pattern Layout 找到Patterns

【讨论】:

  • 谢谢,关于解决方案使用 PatternLayout 获取 JSON 结构,但是否有可能定义必需的属性或删除不需要的属性JsonLayout 的属性?
  • @Ravikumar 您可以定义&lt;pattern&gt;define here&lt;/pattern&gt; 我在答案中附加了链接。 参数在此处描述。在 Pattern Layout 中查找 Pattern。
  • 你的解决方案完全没问题,它给我带来了 JSON 格式的日志。但是这里我们在 PatterLayout 中使用 pattern 来在日志中引入 JSON 格式,这完全没问题。但是Slf4j2在JsonLayout中默认支持JSON格式,默认属性有timeMillisendOfBatch等。所以在这里我们如何限制/删除 JsonLayout 中的默认属性。那么 JsonLayout 有可能吗?。
  • @Ravikumar 在我的情况下,我只使用&lt;PatternLayout&gt;&lt;pattern&gt;...&lt;/pattern&gt;&lt;/PatternLayout&gt; 并很好地打印日志。 &lt;pattern&gt;{"level":"%p","loggerName":"%c"}&lt;/pattern&gt;打印{"level":"INFO","loggerName":"com.test.LogTest"}
  • @Ravikumar 祝你好运!
猜你喜欢
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 2014-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多