簡體   English   中英

如何在log4j2中使用Spring更改生產中的控制台日志記錄?

[英]How to change console logging in production with Spring in log4j2?

如何在生產中完全禁用控制台日志記錄? (例如使用spring.profiles.active=production

在開發期間,我總是希望看到完整的控制台日志記錄。 但在制作中我想阻止控制台出局。 但是怎么樣?

log4j2-spring.xml:

<configuration>
   <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" />
        </Console>

        <RollingRandomAccessFile name="XML"  .../>
    </Appenders>

    <Loggers>
       <Root level="all">
            <AppenderRef ref="CONSOLE" />
            <AppenderRef ref="XML" />
       </Root>
    </Loggers>
</configuration>

旁注:INFO語句仍應記錄到XML文件中。 它們不應該另外打印到控制台。

使用vm args可能如下:

<Configuration>
    <Properties>
       <property name="console.log">INFO</property> <!-- default value if not set -->
    </Properties>

        <Console name="CONSOLE" target="SYSTEM_OUT">
            <ThresholdFilter level="${sys:console.log}" onMatch="ACCEPT" onMismatch="DENY" />
        </Console>

記錄器默認使用INFO級別。 在啟動時提供例如-Dconsole.log=ERROR時,它只會將錯誤記錄到控制台。

如果log4j2只能讀取application-production.properties定義的屬性,那就更好了,但是這種方法不行。

暫無
暫無

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

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