Logback中是否有Log4j的follow=true属性替代方案?
Logback 对应 Log4j
follow=true 的替代方案 在Log4j里,设置控制台Appender的follow=true是为了让日志能自动跟随System.out的新版本(比如System.out被重新赋值后,日志依然能输出到新的流实例)。
而在Logback中,ConsoleAppender默认就具备这种自动跟随的能力,不需要额外配置任何属性。因为Logback的ConsoleAppender每次输出日志时,都会实时获取当前的System.out或System.err实例,而不是在初始化时就固定绑定到某个流上。
举个标准的Logback ConsoleAppender配置示例:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <!-- 无需额外配置,默认自动跟随System.out的变化 --> </appender>
附上你参考的OutputCaptureExtension.java的Javadoc翻译内容:
要可靠捕获Log4j2的输出,请将控制台Appender的follow属性设置为true:
<Appenders> <Console name="Console" target="SYSTEM_OUT" follow="true"> ... </Console> </Appenders>
内容的提问来源于stack exchange,提问作者Programmer1994
相关产品推荐
相关产品推荐

