31

我试图在我的新项目中采用 Log4j2,但我登录了catalina.out,第一个总是:ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger。似乎我已经根据 Log4j2 文档完成了所有工作,但仍然如此。

这是我实际所做的:

  1. 添加log4j-api-2.0-beta3.jar到我的项目中
  2. 创建了一个log4j2.xml文件并将其放在类路径上的位置(当前,在/usr/local/tomcat/home/lib. 事实上,我从 Log4J2 网页中获取了一个示例文件。
  3. 重新启动tomcat。

我正在使用 Tomcat 7、MacOS X 10.8、Java 7。

我错过了什么?

以防万一,这是我正在使用的 log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="warn" name="MyApp" packages="">
  <appenders>
    <File name="MyFile" fileName="logs/app.log">
      <PatternLayout>
        <pattern>%d %p %C{1.} [%t] %m%n</pattern>
      </PatternLayout>
    </File>
  </appenders>
  <loggers>
    <root level="trace">
      <appender-ref ref="MyFile"/>
    </root>
  </loggers>
</configuration>

4

5 回答 5

37

我有同样的问题。在将log4j-core-2.0-beta3.jar也添加到它工作的类路径之后。

于 2012-11-18T16:30:42.693 回答
16

Maven中,您通常具有以下日志记录配置:

<properties>    
    <slf4j-version>1.7.7</slf4j-version>
    <slf4j-log4j2-version>2.0.1</slf4j-log4j2-version>
</properties>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j-version}</version>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${slf4j-log4j2-version}</version>
</dependency>

要添加日志核心库,您必须:

  1. 将 2.0.1 添加到属性部分
  2. 添加日志核心依赖:

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2-version}</version>
    </dependency>
    
于 2014-08-19T07:59:13.100 回答
7

新图标更新到 2.7 版本

将下一个 jar 添加到您的项目中:

如果您使用的是 Maven,请添加依赖项:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>
于 2014-09-02T03:54:56.603 回答
2

我使用 log4j2.8.2 并通过将 log4j2.xml 放入 Web 类文件夹 (WEB-INF/classes/log4j2.xml) 来成功自动配置

于 2017-09-07T14:52:16.523 回答
0

如果是 maven 项目,则必须添加以下依赖项,

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.17.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

log4j2.xml 或 log4j2.properties 文件应该在 src/main/resources 文件夹下。在这种情况下,您不需要在类路径中显式添加文件夹或 jar。它应该可以解决问题。

于 2022-01-25T05:19:03.340 回答