我正在尝试将Log4J2与具有多个servlet上下文的Web服务集成,并且我的目标是完全编程Log4J。我已经在java选项中将状态记录器设置为DEBUG,如下所示,
org.apache.logging.log4j.simplelog.StatusLogger.level=DEBUG
因此,我在控制台获取状态记录器消息。但是,这些消息没有线程ID或上下文名称。由于存在多个servlet,状态记录器消息正在混淆。
有没有办法配置状态记录器使用的控制台appender来打印线程ID或上下文名称?可能是为状态记录器使用的appender配置模式布局的方法吗?
谢谢, WinCPP
答案 0 :(得分:1)
是的,你可以。
以下是有关如何以及使用log4J2打印的内容的详细说明
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t]
%highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue} - %msg%n" />
</Console>
%t - 输出主题名称
%d{HH:mm:ss.SSS} – outputs the date of the log event in the specified format
%level – displays the log level of the message
%highlight{%level} – is used to define the colors for the pattern between curly brackets
%msg%n – outputs the log message