gpt4 book ai didi

java - Log4j2 ConsoleAppender 不应用 PatternLayout

转载 作者:太空宇宙 更新时间:2023-11-04 14:21:38 24 4
gpt4 key购买 nike

我正在运行 Tomcat 8.0.9 并使用 log4j2。我在控制台附加器上定义了一个模式布局,并将其设置为 SYSTEM_OUT。布局模式类似于:

%d{yyyy-MM-dd} %m%n

但是当调用 System.out.println 时,不会应用该模式。我是否应该期望该模式将应用于 System.out.println?

最佳答案

Should I be expecting that the pattern will be applied to System.out.println?

没有。

模式(以及整个 log4j 配置)仅适用于 log4j 组件(即记录器、附加器、布局等)。 SYSTEM_OUT 目标意味着 ConsoleAppender 将使用 System.out预格式化日志消息打印到控制台。

因此,要获得格式化的日志输出,您必须使用 log4j 记录器:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LoggingTest {
private static final Logger log = LogManager.getLogger();

public static void main(String[] args) {
log.info("This text will be formatted");
System.out.println("This won't");
}
}

当然配置文件必须位于指定的类路径或“log4j.configurationFile”系统属性中。

关于java - Log4j2 ConsoleAppender 不应用 PatternLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com