工程中将log4j平滑升级到log4j2(坎坷路但不是太坎坷)

将升级步骤一级升级过程中遇到的问题 整理记录

如题,log4j1 如何平滑升级到log4j2呢?  

原来使用

private static final org.apache.log4j.Logger logger1 = org.apache.log4j.Logger.getLogger(MainTest.class)方法获取到org.apache.log4j.Logger对象的 ,现在private static final org.apache.logging.log4j.Logger logger1 = org.apache.logging.log4j.LogManager.getLogger(MainTest.class) 方法获取到org.apache.logging.log4j.Logger  

下面开始

1 将工程中的原有依赖删除

        
        
        
        

2 添加log4j2 相关依赖


  UTF-8

  1.8
  4.3.9.RELEASE
  
  2.6.2



  org.apache.logging.log4j
  log4j-api
  ${log4j2-version}




  org.apache.logging.log4j
  log4j-1.2-api
  ${log4j2-version}




  org.apache.logging.log4j
  log4j-slf4j-impl
  ${log4j2-version}


3将web中工程中web.xml中日志文件修改


   log4jConfigLocation
   
   classpath:log4j2.xml

4可以启动工程 

如果不报错恭喜你 已经成功了  如果启动异常  请往下看








注意 在升级过程中会遇到 依赖包版本问题

异常如下

工程中将log4j平滑升级到log4j2(坎坷路但不是太坎坷)_第1张图片

或者另一种异常信息 其实都是版本冲突或者版本不匹配


工程中将log4j平滑升级到log4j2(坎坷路但不是太坎坷)_第2张图片

工程中将log4j平滑升级到log4j2(坎坷路但不是太坎坷)_第3张图片

都是slf4j 版本问题  在我的工程 中 就发现了  低版本的依赖包(是一个工程依赖包内部依赖的该jar包)

当工程中存在


    org.apache.tiles
    tiles-core
    3.0.3

这个jar包 就会有此问题  当然 也可能时其他的jar包问题  如何查看呢?

直说一种  亲测可以使用 其他的没有使用过 使用idea 工具

工程中将log4j平滑升级到log4j2(坎坷路但不是太坎坷)_第4张图片

在弹出的输入中 输入 mvn dependency:tree 然后等待 将数据Copy出来就可以查看了

然后在使用低版本slf4j依赖的 maven jar包中使用exclusions 如下方式 将该包中的slf4j依赖去除


    org.apache.tiles
    tiles-core
    3.0.3
    
        
            org.slf4j
            jcl-over-slf4j
        
    
然后就可以使用了 将工程跑起来吧 仅个人见解 如有问题 欢迎指出

你可能感兴趣的:(log4j2使用)