shiro项目从 log4j1X 迁移到 log4j2X

时间:2022-10-24 21:53:38

 

先说一下,shiro依赖的项目不是log4j 而是 SLF4J框架。

 

我们原来用1X版本的jar包如下:

log4j-1.2.17.jar

slf4j-api-1.7.22.jar

slf4j-log4j12-1.7.22.jar

 

其中slf4j-log4j12-1.7.22这就是一个Binding,用来连接log4j和SLF4J的。

 

shiro项目给的required是这样的

shiro项目从 log4j1X 迁移到 log4j2X

其中就有log4j.properties,说实话我好卵烦,就算shiro很牛逼,是不是也该用一下新的日志工具了,现在官方都提倡使用Log4j2X了。

 

看着不爽,那就改呗。上网查。。发现都是log4j的,就算有log4j2X的也跟我一点关系也没有。先注意,shiro依赖的不是Log4j,那么我让SLF4J去整合Log4j2X不就行了吗。

 

于是我查文档,

shiro项目从 log4j1X 迁移到 log4j2X

要想Log4j 2去连接SLF4J 那么就需要这个jar包了。

shiro项目从 log4j1X 迁移到 log4j2X

 

于是我跟一条傻狗似的去高高兴兴的下载了一个最新版的log4j-slf4j-impl-2.8.2.jar

重启服务器:

shiro项目从 log4j1X 迁移到 log4j2X

 

虽然很痛苦,但是我用鸡儿一想,应该是不兼容吧,回头一翻Log4j2 的压缩包,真的是这样,2.5的有log4j-slf4j-impl-2.5.jar|2.8的有log4j-slf4j-impl-2.8.2.jar

shiro项目从 log4j1X 迁移到 log4j2X

shiro项目从 log4j1X 迁移到 log4j2X

然后重启项目,ok

shiro项目从 log4j1X 迁移到 log4j2X

 

总结一下:如果遇到需要依赖SLF4J的Log4j 2X 升级,只需要删除log4j 1X jar包 + 连接包

shiro项目从 log4j1X 迁移到 log4j2X

然后加上log4j2X 的jar包 + 2X 的连接包

shiro项目从 log4j1X 迁移到 log4j2X