【问题标题】:Log4J 2: Print threadID or context name in each statuslogger messageLog4J 2:在每个状态记录器消息中打印线程 ID 或上下文名称
【发布时间】:2017-05-27 03:09:56
【问题描述】:

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

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

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

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

谢谢, WinCPP

【问题讨论】:

    标签: log4j2


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多