项目版本统一升级 主要就是三点
一、去除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>