【问题标题】:log4j2.xml config file is not being loaded未加载 log4j2.xml 配置文件
【发布时间】:2021-12-15 12:02:27
【问题描述】:

我已将 log4j 从 1.2.17 升级到 2.16.0。因此我不得不重写我的log4j.xml 并将其重命名为log4j2.xml。我已经进行了必要的更改。但是,似乎我的新配置未加载。我尝试通过web.xml 来配置 log4j:

<context-param>
    <param-name>log4jConfiguration</param-name>
    <param-value>classpath:log4j2.xml</param-value>
</context-param>

-Dlog4j2.configurationFile。两种方法都失败了,我在 mylog.log 文件中没有得到任何日志。但是,在本地运行应用程序时,控制台会显示日志。

这是我的log4j2.xml

<?xml version="1.0" encoding="UTF-8" ?>

<Configuration status="trace">
    <Appenders>
      <Console name="STDOUT" target="SYSTEM_OUT">
        <PatternLayout pattern="%-5p %c{1} - %m%n"/>
      </Console>
      <RollingFile name="DAILY_LOG" fileName="${catalina.base}/logs/mylog.log"
                   filePattern="${catalina.base}/logs/mylog.log.%d{yyyy-MM-dd}">
        <PatternLayout pattern="%d %-5p [%c] [%X{sid}:%X{uid}] %m%n "/>
        <Policies>
          <TimeBasedTriggeringPolicy interval="1"/>
        </Policies>
      </RollingFile>
    </Appenders>

    <Loggers>
       <!-- Limit the org.springframework category to INFO as its DEBUG is verbose -->
       <Logger name="org.springframework" level="INFO"/>
       <!-- Limit the org.hibernate category to INFO as its DEBUG is verbose -->
       <Logger name="org.hibernate" level="INFO"/>
       <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
       <Logger name="org.apache" level="INFO"/>
       <Logger name="org.myproject" level="INFO"/>
       <!-- Root Logger -->
       <Root level="INFO">
         <AppenderRef ref="STDOUT"/>
         <AppenderRef ref="DAILY_LOG"/>
       </Root>
    </Loggers>
</Configuration>

我尝试使用:-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace 来调试 log4j 配置。我注意到 LoggerContext 实例创建良好,并且所有列出的记录器都构建良好。

我想知道我的配置是否写错了。有人可以向我确认或否认这一点。

【问题讨论】:

    标签: java log4j log4j2


    【解决方案1】:

    我找到了解决方案。这花了我一段时间才弄清楚。问题是由于log4j 2.x 用于解析系统属性的新语法。与log4j 1.x 使用${some.property} 语法进行属性替换不同,log4j 2.x 使用${sys:some.property}。我必须添加 sys 前缀才能使其工作。

    来源:https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 2012-10-25
      • 1970-01-01
      相关资源
      最近更新 更多