我正在尝试在我的新项目中采用Log4j2,但我在catalina.out
中获取了我的日志,第一个始终是:ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger
。看来我已根据Log4j2文档完成了所有工作,但仍然如此。
这是我实际做的事情:
log4j-api-2.0-beta3.jar
添加到我的项目log4j2.xml
文件,并将其放在类路径上的位置(目前在/usr/local/tomcat/home/lib
中。实际上,我从Log4J2网页中获取了一个示例文件。我正在使用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>
答案 0 :(得分:36)
我遇到了同样的问题。将 log4j-core-2.0-beta3.jar 添加到它运行的类路径之后。
答案 1 :(得分:15)
在 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>
要添加日志核心库,您必须:
添加日志核心依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2-version}</version>
</dependency>
答案 2 :(得分:5)
已更新至2.7版
将下一个罐子添加到您的项目中:
如果您使用的是Maven,请添加依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
答案 3 :(得分:2)
我使用log4j2.8.2并通过将log4j2.xml放入web classes文件夹(WEB-INF / classes / log4j2.xml)来成功自动配置