Log4j ConsoleAppender Follow参数的用途是什么?用途、参数、Log4j、ConsoleAppender

2023-09-03 09:54:05 作者:我玩命,沵随意

在我下面的示例中,在log4j配置文件中有这样一行:

<Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">

log4j slf4j与lomback 入门和配置详解

除了follow="true",我已经了解了这行中的所有内容,我已经在官方网站上阅读了这个参数的说明:This Website。我也试着在其他网站上搜索,但无济于事。

描述如下:

此描述让我感到困惑,他们所说的荣誉重新分配是什么意思.....&q;,它的目的是什么,如果我将其更改为false会发生什么。

推荐答案

System.out属性不是只读的,可以通过System#setOut重新分配。对于follow="true",附加器将消息发送到System.out的当前值,而对于follow="false",日志将发送到System.out的原始值。

可以使用以下命令测试这两种行为:

      // This performs automatic initialization
      final Logger logger = LogManager.getLogger(Log4j2Test.class);
      // System.out is attached to the JVM's `stdout`
      logger.warn("Sent to 'stdout'");
      // Reassignement of System.out
      System.setOut(new PrintStream(new File("file.log")));
      // System.out is attach to the file 'file.log'
      logger.warn("Sent to 'file.log'");

从实际角度看,follow="true"的性能比follow="false"System.out很少重新分配的性能差。

 
精彩推荐
图片推荐