美文网首页
log4j1.x升级log4j2.x

log4j1.x升级log4j2.x

作者: coder_farmer | 来源:发表于2017-12-18 18:50 被阅读0次

    前言

    由于log4j1.x用的是全局锁同步写log,大大影响了写日志的性能。所以决定把log4j1.x升级为log4j2.x,记录一下升级的过程和步骤。
    log4j2.x性能较log4j1.x提升了10倍:

    Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback提高了10倍性能提升(吞吐量和延迟率 )

    依赖

    删除原有的log4j1.x依赖,包括slf4j-log4j12,在有用到的地方通过pom文件exclude就好了。如下:

     <exclusions>
            <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
             </exclusion>
             <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
             </exclusion>
     </exclusions>
    

    为了不影响代码,我们还需要引用log4j1.x到log4j2.x的过渡包,如下:

    log4j-1.2-api-2.5.jar
    log4j-api-2.5.jar
    log4j-core-2.5.jar
    disruptor-3.3.4.jar(用于异步输出log)

    配置

    删除原有的配置文件log4j.properties
    添加配置文件log4j2.xml
    具体配置信息忽略

    彻底的异步方式

    下面是官方给出的log4j2异步日志的效率

    log4j2
    想要完全使用log4j2的异步方式输出日志,则需要在classpath路径下添加如下文件log4j2.component.properties
    内容如下:

    Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

    相关文章

      网友评论

          本文标题:log4j1.x升级log4j2.x

          本文链接:https://www.haomeiwen.com/subject/fqimwxtx.html