spring中的Log4jConfigListener作用

深度残差网络的无人机多目标识别 深度残差网络的无人机多目标识别 人工智能技术与咨询 来源:《图学学报》。作者翟进有等 摘要:传统目标识别算法中,经典的区域建议网络(RPN)在提取目标候选区域时计算量大,时间复杂度较高,因此提出一种级联区域建议网络(CRPN)的搜索模式对其进行改善。此外,深层次的卷积神经网络训练中易产生退化现象,而引入残差学习的深度残差网络(ResNet),能够有效抑制该现象。对多种不同深度以及不同参数的网络模型进行研究,将两层残差学习模块与三层残差学习模块结合使用,设计出一种占用内存更小、时间复杂度更低的新型多捷. 阅读详情
原文来自:http://blog.youkuaiyun.com/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在环境变量中就会有冲突导致第二个应用启动失败。
3A之自动对焦(AF)算法:从Tenegrad到拉普拉斯的清晰度评价实战 本文深入解析自动对焦(AF)算法的核心——清晰度评价函数,通过实战对比Tenegrad、方差、能量梯度、Brenner和拉普拉斯五大经典算法的原理、代码实现与性能。文章详细阐述了各函数在计算速度、抗噪性和单峰性上的优劣,并提供了从仿真测试到硬件部署的优化策略,帮助开发者根据实际场景选择最合适的AF算法。 阅读详情

相关推荐

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析Facebook登录协议的逆向工程,重点拆解`lgndim`和`encpass`等加密参数的生成逻辑,并提供完整的Python实现代码。通过Base64解码和RSA加密技术,帮助开发者理解并实现Facebook登录流程,同时涵盖工程优化与安全实践。

weixin_30687051的博客 477

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

小狐狸和小兔子 4789

分布式光纤传感(DFOS)DTS/DAS/DSS 三合一:10公里管线监测实战与数据解读

本文详细介绍了分布式光纤传感(DFOS)技术在10公里管线监测中的实战应用,通过DTS(温度)、DAS(振动)、DSS(应变)三合一系统,实现对管线健康状态的立体感知。文章涵盖工程部署、数据采集、多物理量数据融合及噪声抑制等关键技术,展示了如何通过一根光纤完成复杂监测任务,显著提升管线安全性和维护效率。

weixin_29168153的博客 315

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

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

weixin_39093006的博客 3339

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5499

数字IC后端设计实现 | PR工具中到底应该如何控制density和congestion?(ICC2&Innovus)

数字IC后端设计实现中到底应该如何控制cell density和congestion?(ICC2和Innovus两种解决方案)

weixin_37584728的博客 7112

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

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

qq_53157982的博客 1136

自动驾驶模拟器:基于 Python + Carla,在家也能训练一个“L4 级”自动驾驶 AI 模型

市面上有很多模拟器(AirSim, LGSVL),但 Carla 是目前学术界和工业界最主流的选择。画质强:基于 UE4,光影、天气(下雨、夕阳)极其逼真,这对训练视觉模型至关重要。API 爽:完全使用 Python 控制,对 AI 工程师极度友好。资产多:内置各种车辆、行人、交通信号灯、城市地图。编写 Python 代码,让车自己在城市里跑,通过摄像头看到路况,自己决定怎么打方向盘。通过 Carla,我们把价值数百万的自动驾驶测试场搬进了电脑。

BUG猿的博客 269

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万+

筑牢上线前安全防线:安全运维服务中的检测实践与深化

在日益严峻的网络安全形势下,将漏洞扫描、渗透测试和基线核查有机结合的上线前安全检测,是保障信息系统安全、稳定、合规上线的基石。通过专业、严谨、协作的检测实践,乙方安全团队能够有效协助甲方在系统生命周期的起点就构筑起坚固的安全防线,为业务的顺利开展和用户的信任保驾护航,真正实现“安全赋能业务”的价值。这道“守门人”的职责,是数字时代企业稳健前行的不可或缺的保障。专业的安全服务提供商(乙方)需要与甲方(系统所有者/运营方)建立紧密、透明、协作的伙伴关系,实现风险的闭环管理,甚至推动甲方安全能力的长期提升。

huluang的专栏 183

【Go语言实战】(9) gRPC 实现一个简单微服务

文章目录写在前面1. 安装1.1 grpc1.2 proto1.3 protobuf2. 编写代码2.1 初始化项目2.2 编写proto2.3 编写服务端2.4 实现客户端3. 演示 写在前面 这一次我们用gRPC实现获取用户的信息 1. 安装 1.1 grpc grpc的安装直接go get即可 go get google.golang.org/grpc 1.2 proto 下载proto,我是下载这个的。 然后解压出来把bin目录放在直接放在系统变量当中 1.3 protobuf 我们在

面向生活编程 3272

Listener 监听器

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

weixin_30567225的博客 618

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

spring5.0解决Log4jConfigListener过期问题

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

织雨者的专栏 4万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring5 Log4jConfigListener

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

lishuzhen5678的博客 949

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

spring5抛弃Log4jConfigListener,使用Log4jServletContextListener代替

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

SunQIXin的博客 2609

spring5.0之后Log4jConfigListener过期问题

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

Janson_lin88的博客 686

如何使用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的专栏 183

spring5.x使用log4j Log4jConfigListener过期问题

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

u012521213的博客 1101
上一篇: Maven编译过程中Java heap space问题的解决方法
下一篇: java+内存分配及变量存储位置的区别
north_easter
博客等级 码龄15年 9粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值