Log4j 2环境配置和适配组件配置(maven/ivy/gradle)
Posted 小杨Vita
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log4j 2环境配置和适配组件配置(maven/ivy/gradle)相关的知识,希望对你有一定的参考价值。
本文译自:
http://logging.apache.org/log4j/2.x/maven-artifacts.html
详细目录
Apache Log4j 2 中文文档
所需环境
Log4j 2.4及更高的版本至少需要Java 7, 2.0-alpha1到2.3版本至少需要Java 6。部分特性需要添加可选依赖,相应的文档中会具体指明。
下载
请在官网下载jar包,下载地址 。
在classpath添加API和Core两个jar包即可。
log4j-api-2.6.2.jar
log4j-core-2.6.2.jar
Maven、Ivy和 Gradle配置
Maven
在pom.xml
文件中加入
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
BOM(Bill of Material)
为了使Log4j多个模块的版本相互保持一致,你可以使用带BOM的pom.xml文件。在maven的pom.xml
中加入以下内容,这样在后续添加依赖时就不用指定版本了。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>2.6.2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
Gradle
在build.gradle
文件中加入
dependencies
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.6.2'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.6.2'
Ivy
在ivy.xml
文件中加入
<dependencies>
<dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.6.2" />
<dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.6.2" />
</dependencies>
可选组件
Log4j 1.x API 桥接器
如果项目中已有代码使用了Log4j 1.x,然而你想使用Log4j 2的内核,那么请移除Log4j 1.x的所有依赖,并添加以下桥接器。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
ivy.xml
<dependencies>
<dependency org="org.apache.logging.log4j" name="log4j-1.2-api" rev="2.6.2" />
</dependencies>
build.gradle
dependencies
compile group: 'org.apache.logging.log4j', name: 'log4j-1.2-api', version: '2.6.2'
SLF4J 桥接器
如果项目中已有代码使用了SLF4J,然而你想使用Log4j 2的内核,这时无需移除SLF4J的依赖,只需添加下面的依赖。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
Apache Commons Logging 桥接器
如果项目中已有代码使用了Apache Commons Logging 1.x,然而你想使用Log4j 2的内核,这时无需移除任何Commons Logging的依赖,只需添加下面的依赖。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
JUL 适配器
如果项目中已有代码使用了Java.util.Logging,然而你想使用Log4j 2的内核,只需添加下面的依赖。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
Web Servlet 支持
为了正确处理web应用的ClassLoader环境和容器生命周期,你需要添加额外的模块。本模块仅在运行时才需要。此外,如果你在OSGi环境中使用了servlet,请保证你的servlet API首选版本已被加载(比如当你想用servlet 3.0时,此时2.5已经被加载了,那么此时仍须加载3.0版本)。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
Apache Flume Appender
Flume Appender允许应用将日志事件发送到Flume Agent上。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-flume-ng</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
Log4j to SLF4J 适配器
Log4j to SLF4J 适配器可以将针对Log4j 2 API编写的实现类转为适配SLF4J接口。也就是当你的项目中使用的是Log4j 2 API,这时你想把日志内核替换成某一种SLF4J的实现,那么请使用本适配器,图文介绍见后续的FAQ。使用本适配器将降低部分性能,因为Log4j 2的消息在传递给SLF4J时必须先进行格式化。注意该适配器不能与SLF4J桥接器同时使用。
pom.xml
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
转载请注明出处:Log4j 2环境配置和适配组件配置(maven/ivy/gradle)
http://blog.csdn.net/yangcheng33/article/details/52725910
以上是关于Log4j 2环境配置和适配组件配置(maven/ivy/gradle)的主要内容,如果未能解决你的问题,请参考以下文章