【问题标题】:YET ERROR StatusLogger No Log4j 2 configuration file found. Using default configurationYET ERROR StatusLogger 找不到 Log4j 2 配置文件。使用默认配置
【发布时间】:2019-08-28 20:01:24
【问题描述】:

我正在使用 Spring MVC 设置一个新项目,但无法配置 Log4j2, 我遇到的错误与许多寻求帮助的人一样。

ERROR StatusLogger 找不到 Log4j 2 配置文件。使用默认配置...

工具和库:

  • 日食光子
  • Spring MVC 5.1.6
  • Slf4j 1.7.26
  • Lo​​g4j2 2.11.2
  • Maven(来自 Eclipse)

pom.xml

...
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.26</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.11.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.11.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.11.2</version>
</dependency>
...

配置文件src位置

/src/com/mypackage/myproject/resorces/
where I tried to put a log4j2-test.xml file and/or a log4j2.properties, none of them worked

浏览 Tomcat 部署目录:

.../org.eclipse.wst.server.core/tmp0/wtpwebapps/MonitorManagement/WEB-INF/classes/com/mypackage/myproject/resources

可以找到这两种资源。

即使实际部署了资源,log4j2 怎么也找不到?

编辑:将资源直接放在 src 文件夹下可以,这是一个好方法吗?

提前致谢

【问题讨论】:

    标签: maven log4j2 tomcat9


    【解决方案1】:

    Log4j 在类路径的根文件夹中查找。

    在您的 IDE 中,您可以将 log4j2.xml 文件放在 /src 下和(可能)放在 /resources 下。

    【讨论】:

    • 我一直习惯将这种资源放在“com.example.myproject.resources”上,这是一种不好的做法吗?
    • Log4j 2 在类路径根目录中查找。如果把 log4j2.xml 配置放到别的目录/包里,Log4j 就找不到了……
    猜你喜欢
    • 2018-01-02
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    相关资源
    最近更新 更多