zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    bash shell学习shell基础 (笔记)
    Linux入门 (笔记)
    《Effective C++》 阅读小结 (笔记)
    趣味PAT循环19. 币值转换(20)
    git学习小结 (笔记)
    一个新手Java编程的初次感受
    201671010112 第四周的感悟
    201671010112 老同学的java学习之路
    全民IT时代到来了?学计算机很有前途?——淘宝2011校园招聘笔试感想
    编写友好的命令行应用程序
  • 原文地址:https://www.cnblogs.com/yangcheng33/p/6557315.html
Copyright © 2011-2022 走看看