在把一个老项目的jar升级完后发现启动失败,Tomcat localhost log 信息如下:配置应用的监听失败

30-Jul-2020 17:37:18.362 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [org.springframework.web.util.Log4jConfigListener]java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

日志这块之前都好好的,现在却报错,查看源码确实找不到这个类,这是原web.xml配置

<!-- 配置log4j配置文件路径 --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param><!-- 60s 检测日志配置 文件变化 --><context-param><param-name>log4jRefreshInterval</param-name><param-value>60000</param-value></context-param><!-- 配置Log4j监听器 --><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>

发现从Spring 4.2.1开始,已删除Log4jConfigListener,支持Apache Log4j 2,官方说明

所以我们需要引入log4j的jar,注意是apache.logging 下的,版本自定义,在pom.xml加入依赖

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j.version}</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-web --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>${log4j.version}</version></dependency>

修改后的web.xml如下

    <!-- 配置Log4j监听器 --><listener><listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class></listener><filter><filter-name>log4jServletFilter</filter-name><filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class></filter><filter-mapping><filter-name>log4jServletFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher><dispatcher>INCLUDE</dispatcher><dispatcher>ERROR</dispatcher></filter-mapping><!-- 配置Spring上下文监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><!-- Spring -->

注意需要配置在spirng ContextLoaderListener之前 ,This listener should be registered before ContextLoaderListener in web.xml when using custom log4j initialization.

Spring5解决Log4jConfigListener的问题相关推荐

  1. springmvc 整合 camunda

    参考官网:Process Engine 配置 | docs.camunda.org 一 POM 注意: 1 低版本c3p0会报错:Method com/mchange/v2/c3p0/impl/New ...

  2. javaEE面试重点

    Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...

  3. Spring5 Unsupported class解决方法:probably due to a new Java class file version that is supported yet

    使用Spring5注解驱动开发时,出现以下bug:probably due to a new Java class file version that is supported yet. org.sp ...

  4. 解决Spring5源码编译各种Gradle报错问题

    1. 前言 最近希望能够学习一下Spring最新的源码,特意去GitHub上拉取Spring的源码.结果碰到各种Gradle报错问题,因为本人没有学习过Gradle,项目一直以来使用的都是Maven进 ...

  5. 尚硅谷2021新版spring5课堂笔记

    文章目录 一.Spring5 框架概述 二.IOC 概念和原理 BeanFactory 接口 IOC 操作 Bean 管理(基于 xml 方式) xml基础 1.基于 xml 方式创建对象 2.基于 ...

  6. 学习笔记——spring5概念和原理

    文章目录 一. spring5概述和原理 Spring5 框架概述 Spring5入门案例 IOC(概念和原理) IOC(BeanFactory 接口) IOC操作 Bean 管理(概念) IOC操作 ...

  7. 尚硅谷Spring5笔记--自用

    文章目录 Spring5框架 1.SPring框架概述 入门案例 **1 下载SPring5** **2 打开idea工具**创建普通Java工程 3.导入Spring5相关jar包 4.创建普通类 ...

  8. Spring5入门笔记

    Spring5 Spring概念 ①Spring是轻量级得开源得JavaEE框架 ②Spring解决企业应用开发得复杂性 ③Spring有两个核心部分:IOC和Aop IOC: 控制反转,把创建对象过 ...

  9. 001 spring5框架:java类工程,IOC:实体类表示表关系,AOP,JdbcTemplate模板,事务操作,Spring5 框架新功能:日志,为空注解,函数式风格,juint,Webflux

    1. Spring5 框架(Spring5 Framework)介绍 1.1 概念 1.Spring 是轻量级的开源的 JavaEE 框架 2.Spring 可以解决企业应用开发的复杂性 3.Spri ...

最新文章

  1. 源码安装apache及配置转发
  2. 【Paper】2019_Bearing-only circumnavigation control of the multi-agent system around a moving target
  3. Rand函数使用和对补码的理解
  4. python内置函数可以用来_Python内置函数——compile
  5. js 子窗口关闭并且刷新父窗口
  6. vue过滤器的那点事
  7. [转]谈谈团队的凝聚力
  8. [转]中国网游为何出不了魔兽世界:研发周期才1-2年
  9. 世上哪有那么多的怀才不遇
  10. 【2021】重装ubuntu16.04系统
  11. 金融分析python和r语言比较_金融领域R语言对比python
  12. 什么是MTTF,MTBF,MTRF?
  13. Matlab分析系统的动态性能
  14. Cadence OrCAD Capture 在Excel中编辑所有元件属性然后导入设计图纸的方法
  15. 400+考研 北京航空航天大学6系计算机学院961计算机专业技术基础资料合辑
  16. 大数据面试知识点整理合辑
  17. Aconvert 文档格式转换-PDF转免费转其他文档网址-免费
  18. 【计算机动画】复习笔记 ( ゚∀゚) ノ♡
  19. 大一计算机思维知识点,大学计算机—基于计算思维知识点详解.docx
  20. winform制作音乐播放器

热门文章

  1. 使用Element-UI中的Table表格组件制作多级表头
  2. 怎样更直观的查看KingbaseES数据库日志
  3. 安卓逆向新人练手项目
  4. mysql 钩子_php中的钩子理解及应用实例分析
  5. 公交客车客流统计信息采集技术研究
  6. 转 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
  7. 怎么通过API获取BILIBILI粉丝数
  8. Vim编辑器与Shell命令脚本
  9. 单例模式(C++实现懒汉式)
  10. QingNote|轻笔记