背景:受log4j 2.x漏洞的影响,公司webservice涉及到的axis2也需要将log4j 1.x升级到最新的log4j 2.17.1,下面操作步骤都是经过验证和测试的。
1.下载最新的axis2和log4j 2
log4j 2下载地址:https://logging.apache.org/log4j/2.x/download.html
2.解压分别找到下面需要用到的文件
axis2.war
log4j-api-2.17.1.jar
log4j-core-2.17.1.jar
log4j-jcl-2.17.1.jar
3.部署axis2和更新log4j-x的jar包
将axis2.war丢到tomcat的webapp目录,tomcat启动后会自动解包进行部署
在webapps\axis2\WEB-INF\lib下找到本次需要更新的log4j-x文件
找到这3个文件直接删掉,将我们刚刚下载的最新的jar包放进去(注意要相同的包,差别只是版本号)
更新到此结束,下面是拓展的知识点
4.附加知识点
1.部署webservice
将项目打包成 aar文件,丢到webapps\axis2\WEB-INF\services里面就行了
2.怎么关闭log4j的debug日志输出
修改webapps\axis2\WEB-INF\classes下面的log4j2.xml就行了
这是我修改后配置
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug" name="axis2" packages="">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<!-- comment by andy
<Logger name="org.apache" level="warn" additivity="false" >
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.axis2" level="debug" additivity="false" >
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.springframework" level="warn" additivity="false" >
<AppenderRef ref="Console"/>
</Logger>
-->
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
教程结束。