Log4j2 - 配置
Posted
技术标签:
【中文标题】Log4j2 - 配置【英文标题】:Log4j2 - configuring 【发布时间】:2012-11-06 11:50:50 【问题描述】:我正在尝试在我的新项目中采用 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。
我正在使用 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 %C1. [%t] %m%n</pattern>
</PatternLayout>
</File>
</appenders>
<loggers>
<root level="trace">
<appender-ref ref="MyFile"/>
</root>
</loggers>
</configuration>
【问题讨论】:
【参考方案1】:我遇到了同样的问题。在将 log4j-core-2.0-beta3.jar 添加到它工作的类路径之后。
【讨论】:
【参考方案2】:在 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>
要添加日志核心库,您必须:
-
将 2.0.1 添加到属性部分
添加日志核心依赖:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>$log4j2-version</version>
</dependency>
【讨论】:
【参考方案3】:更新到2.7版本
将下一个 jars 添加到您的项目中:
log4j-api-2.7.jar
log4j-core-2.7.jar
如果您使用的是 Maven,请添加依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
【讨论】:
【参考方案4】:我使用 log4j2.8.2,并通过将 log4j2.xml 放入 Web 类文件夹 (WEB-INF/classes/log4j2.xml) 来成功自动配置
【讨论】:
【参考方案5】:如果是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。它应该可以解决问题。
【讨论】:
以上是关于Log4j2 - 配置的主要内容,如果未能解决你的问题,请参考以下文章