log4j升级log4j2

  • Post author:
  • Post category:其他


项目版本统一升级  主要就是三点


一、去除log4j原来的相关的引用

具体是这几个包,maven相关就找对应名字就对了

这些都是关于log4j1的


二、添加新的log4j2的相关引用

其中  来源https://blog.csdn.net/catoop/article/details/121858136

log4j-1.2-api.jar   –>    (log4j  -> log4j2)               将log4j 的日志转接到log4j2日志框架

log4j-api.jar       –>                                     log4j2的api接口jar包

log4j-core.jar      –>    (          log4j2 -> log4j-core) log4j2的日志输出核心jar包

log4j-slf4j-impl.jar–>    (slf4j  -> log4j2)               slf4j 转接到 log4j2 的日志输出框架  (不能和 log4j-to-slf4j同时用)

log4j-to-slf4j.jar  –>    (          log4j2 -> slf4j)      将 log4j2的日志桥接到 slf4j  (不能和 log4j-slf4j-impl 同时用)

然后再继续看的时候有一个log4j-jcl的包  也加上(桥接:告诉commons logging使用Log4j2)



这样就可以用log4j2打印日志了


maven配置问题



因为我是maven配置,在查看修改jar包的时候发现我删除了log4j1的pom引用但是居然还有log4j1的jar包,发现是在别的引用中本身引用了这些依赖

给引用的地方不让他引用这两个引用就好了

然后日志打印是没有问题,但是启动时会报一个错(javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V)

加上xercesImpl-2.8.1.jar和disruptor-3.3.6.jar就好了


三、修改log4j2配置文件

去掉之前的log4j.properties换log4j2.xml

搜一下log4j2.xml配置详解还是挺详细的


四、修改web.xml配置文件

删除关于log4j1的启动配置,添加关于log4j2的启动配置(这一点不是所有都要操作的)

<context-param>
        <param-name>log4jConfiguration</param-name>
        <!--默认是classpath下的log4j2.xml-->
        <param-value>classpath:log4j2.xml</param-value>
 </context-param>



版权声明:本文为qq_44181748原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。