本文譯自:
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