STS4中MVC项目中把log4j从1.x升级到2.x中遇到的两个问题

文章目录

  • 问题一 升级后看Maven Dependencies中还是有依赖1.x的log4j
  • 问题二 web.xml配置不对

项目原来的log4j版本是1.2.14,有漏洞需要升级到2.18.0.

问题一 升级后看Maven Dependencies中还是有依赖1.x的log4j

原因是有关联依赖, 项目中别的jar库有依赖低版本的log4j, 通过删去pom文件中的dependency并不能解决问题,我们还需要exclusions来进行排除依赖。

例如这样一个情况,工程中引入了A,A依赖B,但是B的版本过旧。

操作:鼠标右键Maven Dependencies中对应的老的log4j库,Maven–>Exclude Maven …
,重新build即可。
STS4中MVC项目中把log4j从1.x升级到2.x中遇到的两个问题_第1张图片

问题二 web.xml配置不对

报错:Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener

操作:把org.springframework.web.util.Log4jConfigListener 修改成org.apache.logging.log4j.web.Log4jServletContextListener;
web.xml配置如下:

  <context-param>
    <param-name>log4jConfigLocationparam-name>
    <param-value>/WEB-INF/log4j2.xmlparam-value>
  context-param>
  <listener>
    <listener-class>
			
			org.apache.logging.log4j.web.Log4jServletContextListener
		listener-class>
  listener>

你可能感兴趣的:(服务器,log4j,mvc,java,log4j2)