簡體   English   中英

如何自定義或刪除 Log4j2 中的默認屬性 - JSON 布局

[英]How to customize or remove default attributes in Log4j2 - JSON Layout

Spring Boot 2應用程序中,我已經使用JsonLayout配置了Log4j2 ,如下所示

    ....

    <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>

    .....

我得到了 output 如下所示

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

Output 很好,但我不想要“endofBatch”、“threadPriority”等屬性,但它會顯示在日志中,如何避免基於JsonLayout的日志中不需要的(默認)屬性

如果您只想記錄levelloggerName而不是像下面在配置文件中自定義。

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

該參數在此處進行了描述。 Pattern Layout中查找Patterns

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM