spring中的Log4jConfigListener作用

从波形图到参数调优:一次无感BLDC电机启动失败的深度解析 本文深入解析无感BLDC电机启动失败案例,通过波形分析揭示参数不匹配和IPM保护机制触发等关键问题。详细探讨了过零点检测、PWM周期设置及强拖参数调优的底层逻辑,并分享IPM模块保护机制与实战调优技巧,最终实现99.98%的启动成功率。 阅读详情
原文来自:http://blog.csdn.net/duming88888/article/details/6647470
使用spring中的Log4jConfigListener有如如下好处: 
   1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。 
   2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。 
因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了. 
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log 
   3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。 
   4.log4jRefreshInterval为6000表示 开一条watchdog线程每6秒扫描一下配置文件的变化; 
   在web.xml 添加
[html]  view plain copy
  1. <context-param>   
  2.       <param-name>log4jConfigLocation</param-name>   
  3.       <param-value>WEB-INF/log4j.properties</param-value>   
  4.   </context-param>   
  5.   
  6.   <context-param>   
  7.       <param-name>log4jRefreshInterval</param-name>   
  8.       <param-value>6000</param-value>   
  9.   </context-param>   
  10.   
  11.   <listener>   
  12.       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>   
  13.   </listener>  

 在使用spring先后开发了两个模块,单独测试都正常。也先后上线运行,之后发现有个模块在启动Tomcat后总是初始化失败,必须到tomcat管理控制台手动启动。找了半天也没发现原因。后来管理员在每次重启Tomcat后这个模块没有运行导致一堆问题和麻烦,今天特意查看了其他的tomcat日志文件,终于发现了问题所在,原来是Log4jConfigListener。使用它是为了随时调整打印日志的级别而不用重启服务。没想到没有享受到它的便利,反而出了一堆问题,只能怪自己没有稍微仔细研究一下。 
web.xml
[html]  view plain copy
  1. <context-param>     
  2.     <param-name>webAppRootKey</param-name>     
  3.         <param-value>cang.qing6.com.root</param-value>     
  4.     </context-param>     
  5.      
  6.     <context-param>     
  7.         <param-name>log4jConfigLocation</param-name>     
  8.         <param-value>/WEB-INF/classes/log4j.properties</param-value>     
  9.     </context-param>     
  10.      
  11.     <context-param>     
  12.         <param-name>log4jRefreshInterval</param-name>     
  13.         <param-value>6000</param-value>     
  14.     </context-param>     
  15.     <listener>     
  16.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>     
  17.     </listener>     
  18.   
  19. <context-param>  
  20.  <param-name>webAppRootKey</param-name>  
  21.   <param-value>cang.qing6.com.root</param-value>  
  22.  </context-param>  
  23.   
  24.  <context-param>  
  25.   <param-name>log4jConfigLocation</param-name>  
  26.   <param-value>classpath:log4j.properties</param-value>  
  27.  </context-param>  
  28.   
  29.  <context-param>  
  30.   <param-name>log4jRefreshInterval</param-name>  
  31.   <param-value>6000</param-value>  
  32.  </context-param>  
  33.  <listener>  
  34.   <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  35.  </listener>  

log4j.properties配置
[html]  view plain copy
  1. layoutPattern=[%d{HH:mm:ss}] %-5p : %m%n      
  2. log.file=${message.web.root}/logs/app.log      
  3.      
  4. log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender      
  5. log4j.appender.logfile.File=${log.file}      
  6. log4j.appender.logfile.Append=true     
  7. log4j.appender.logfile.DatePattern='.'yyyyMMdd      
  8. log4j.appender.logfile.layout=org.apache.log4j.PatternLayout      
  9. log4j.appender.logfile.layout.ConversionPattern=${layoutPattern}     
  10.   
  11. layoutPattern=[%d{HH:mm:ss}] %-5p : %m%n  
  12. log.file=${message.web.root}/logs/app.log  
  13.   
  14. log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender  
  15. log4j.appender.logfile.File=${log.file}  
  16. log4j.appender.logfile.Append=true  
  17. log4j.appender.logfile.DatePattern='.'yyyyMMdd  
  18. log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  
  19. log4j.appender.logfile.layout.ConversionPattern=${layoutPattern}  

其实需要注意的地方就是应用服务器下有不止一个的应用在使用spring的Log4jConfigListener需要修改web环境中webAppRootKey值(这个值其实是web应用的根目录在环境变量名,这样在log4j配置文件中如果有相对web目录的路径就不用写死了)。 
否则两个默认值web.root在环境变量中就会有冲突导致第二个应用启动失败。
用gm/Id方法设计简单折叠式共源共栅放大器 gm/Id 阅读详情

相关推荐

2025年软件测试职业院校技能大赛—ERP管理平台-基础信息管理商品管理测试用例

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 273

Spring5解决Log4jConfigListener的问题

在把一个老项目的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.Log

小狐狸和小兔子 4786

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2737

spring5.0以上解决Log4jConfigListener不可用问题

升级到spring5.0,发现之前web.xml 里配置的log监听Log4jConfigListenerspring废弃了,spring建议用log4j2 来替换 这个是web.xml之前的配置: <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-val

weixin_39093006的博客 3331

Spring5框架笔记03 事务操作,Spring5新功能

事务 什么是事务? 事务是数据库操作最基本单元,逻辑上一组操作。要么都成功,如果有一个失败所有操作都失败。 事务四个特性(ACID) Atomicity(原子性):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。 Consistency(一致性):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符

qq_53157982的博客 1132

spring中的Log4jConfigListener作用和webapp.root的设置

转:http://blog.sina.com.cn/s/blog_7bbf356c01016wld.html 使用spring中的Log4jConfigListener有如如下好处:     1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。     2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对

学习笔记 3万+

Listener 监听器

Listener 监听器   前言:之前写了一篇关于Filter的文章:http://tianweili.github.io/blog/2015/01/26/java-filter/,现在再来一篇Listener的,Filter和Listener在项目中是经常用到的,巧妙的使用可以达到事半功倍的效果。故把两者的用法总结一下。   原文链接:http://tianweili.gith...

weixin_30567225的博客 618

spring5.0解决Log4jConfigListener过期问题

升级到spring5.0,发现之前web.xml 里配置的log监听Log4jConfigListenerspring废弃了,百度了一下,没有发现答案。

织雨者的专栏 4万+

spring5抛弃Log4jConfigListener,使用Log4jServletContextListener代替

spring5.0之后,之前web.xml 里配置的log监听Log4jConfigListenerspring废弃了,现在使用log4j2 来替换这个类。 1、引入全新的log4j2 依赖jar包 <!--log4j2的依赖包--> <dependency> <groupId>org.apache.logging.log4j&...

SunQIXin的博客 2607

Spring5 Log4jConfigListener

一个老项目要从spring3升级到spring5,将版本成为 5.2.9 ,编译正常,但是启动时,tomcat的localhost日志抛出以下异常 1...

lishuzhen5678的博客 948

spring5.0之后Log4jConfigListener过期问题

spring5.0之后Log4jConfigListener过期问题 这个问题是spring5.0之后,官方废弃了这个监听器,而推荐log4j2.详情使用请参考: https://blog.csdn.net/zhiyuzhe/article/details/78850238 ...

Janson_lin88的博客 683

如何使用spring中的Log4jConfigListener

使用spring中的Log4jConfigListener有如如下好处:    1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。    2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。 因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了.

name_liv的专栏 881

spring log4jConfigListener

使用spring中的Log4jConfigListener有如如下好处:   1. 动态的改变记录级别和策略,不需要重启Web应用   2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了.log4j.appender.logfile.File=${webapp.ro...

ly01152000的专栏 181

spring5.x使用log4j Log4jConfigListener过期问题

spring5.0已经移除Log4jConfigListener,官方建议使用log4j2,如果需要继续使用log4j需要将spring版本号降到4.0 参考:https://blog.csdn.net/zhiyuzhe/article/details/78850238

u012521213的博客 1096

VCS+Verdi联合仿真详细教程

VCS+Verdi联合仿真详细教程

中国养老保险制度数据集(2015-2023)csv格式+数据集详细说明.zip

本数据集聚焦于中国养老保险制度的多维度研究,涵盖2015年至2023年间的个体微观行为数据、宏观基金运营数据及人口结构数据,共包含三个子数据集。数据来源整合了中国健康与养老追踪调查(CHARLS)、中国家庭追踪调查(CFPS)、国家统计局统计年鉴及财政部社会保障基金年度决算报告,经过系统性清洗、标准化与结构化处理,适用于退休决策行为分析、养老基金可持续性评估及延迟退休政策效应研究。数据集构成1. micro_panel.csv — 个体微观面板数据规模: 68,322 条记录 × 20 个变量时间跨度: 2015—2023 年研究对象: 38—78 岁劳动年龄人口及退休人口本子数据集为追踪面板结构,记录了个体在观测期内的动态状态变化,包括退休决策、健康演变、工资增长及养老金缴纳与领取情况,可用于混合Logit退休决策模型、Cox比例风险生存分析及分层线性模型(HLM)的参数估计。

上一篇: Maven编译过程中Java heap space问题的解决方法
下一篇: java+内存分配及变量存储位置的区别
north_easter
博客等级 码龄15年 9粉丝 1原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值