Log4J 2:在每个statuslogger消息

时间:2017-05-27 03:09:57

标签: log4j2

我正在尝试将Log4J2与具有多个servlet上下文的Web服务集成,并且我的目标是完全编程Log4J。我已经在java选项中将状态记录器设置为DEBUG,如下所示,

org.apache.logging.log4j.simplelog.StatusLogger.level=DEBUG

因此,我在控制台获取状态记录器消息。但是,这些消息没有线程ID或上下文名称。由于存在多个servlet,状态记录器消息正在混淆。

有没有办法配置状态记录器使用的控制台appender来打印线程ID或上下文名称?可能是为状态记录器使用的appender配置模式布局的方法吗?

谢谢, WinCPP

1 个答案:

答案 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