小编Bha*_*rat的帖子

STS 未获取 log4j2.xml

我一直在尝试在 Spring 项目中通过 log4j2.xml 使用基本配置进行日志记录。试了两天没有运气。该项目似乎忽略了我的 log4j2.xml 文件并选择了默认配置。

这就是我一直在做的事情:

  1. 创建 log4j2.xml 并将其添加到类路径中。下面给出配置。
  2. 确保这个 xml 文件是部署程序集的一部分,希望它被选中
  3. 解压缩生成的 war 文件以查看该文件是否被添加为部署的一部分......是的。

没有任何帮助。我在 StackOverflow 上查找了一些关于此类问题的帖子,但其中大部分都提到我们要做的就是将文件添加到类路径。但就我而言,当我运行应用程序时,只有默认配置是我认为处于活动状态的配置。准确地说,虽然下面的配置显示“信息”,但该语句log.info("Inside foo()");不会打印消息。当我介入时,我看到未启用信息级别日志。

任何帮助将不胜感激。

==================

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="[%d{ISO8601}] [%t] %-5p %c{6} - %msg%n"/>
        </Console>
        <File name="File" fileName="example.log">
            <PatternLayout pattern="[%d{ISO8601}] [%t] %-5p %c{6} - %msg%n"/>
        </File>
    </appenders>
    <loggers>
        <logger name="com.mypackage" level="info" additivity="false">
            <appender-ref ref="Console"/>
            <appender-ref ref="File"/>
        </logger>
        <root level="info">
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我的 gradle 构建脚本中的依赖项:

def tomcatVersion = '7.0.42'
tomcat …
Run Code Online (Sandbox Code Playgroud)

java xml configuration logging log4j2

5
推荐指数
1
解决办法
4971
查看次数

标签 统计

configuration ×1

java ×1

log4j2 ×1

logging ×1

xml ×1