使用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 添加
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>6000</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
在使用Spring先后开发了两个模块,单独测试都正常。也先后上线运行,之后发现有个模块在启动Tomcat后总是初始化失败,必须到tomcat管理控制台手动启动。找了半天也没发现原因。后来管理员在每次重启Tomcat后这个模块没有运行导致一堆问题和麻烦,今天特意查看了其他的tomcat日志文件,终于发现了问题所在,原来是Log4jConfigListener。使用它是为了随时调整打印日志的级别而不用重启服务。没想到没有享受到它的便利,反而出了一堆问题,只能怪自己没有稍微仔细研究一下。
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webApp.root</param-value>
</context-param>
Web Application的根目录的绝对文件路径作为属性保存在System的属性列表中。该属性的名字,由web.xml文件中的名为"webAppRootKey"的参数值指出。如果不在web.xml中定义 webAppRootKey参数,那么属性名就是缺省的"webapp.root".在我们的petclinic项目中已经定义了 webAppRootKey参数,其值为"petclinic.root",因此,属性的名字就是"petclinic.root"。
分享到:
相关推荐
总结来说,log4j-2.15.0-rc2是一个安全更新版本,修复了SLF4J的重大漏洞,保障了依赖它的应用的安全性。同时,提供的源码使开发者有机会深入学习和定制这个强大的日志框架。对于使用Java开发的项目,尤其是那些依赖...
总结来说,Apache Log4j 2.3 和 Commons Logging 1.2 在Java Web开发中扮演着重要角色,它们帮助开发者方便地记录、管理和分析应用程序的日志,提升开发效率和问题排查能力。这两个库的结合使用,能够实现日志系统的...
《Apache Log4j 2.5 源码解析与应用探索》 Apache Log4j 是Java领域中广泛使用的日志记录框架,尤其在...通过对源码的深入学习,我们可以更有效地利用Log4j来满足复杂项目的需求,同时提高日志系统的稳定性和安全性。
SLF4J通过`slf4j-api.jar`提供API,而具体的日志实现则通过相应的桥接器(如`log4j-over-slf4j.jar`)来实现。 Logback则是由Log4j的创始人Ceki Gülcü设计的一个更现代、更高效的日志系统。它被设计为比Log4j更快...
### 关于 log4j 的教程知识点总结 ### #### 一、引言与概述 #### log4j 是一个广泛应用于 Java 应用程序的日志记录工具,由 Apache 软件基金会开发并维护。该工具提供了丰富的功能,允许开发者在应用程序中进行...
总结来说,Log4j作为一个强大的日志框架,其强大的功能和高度可定制性使得它在Java项目中占据着重要地位。正确理解和使用log4j-1.2.16.jar,不仅可以提升开发效率,还能为项目的稳定性和维护性提供有力保障。通过...
### Log4j与Commons Logging:深入理解与实践 #### 引言 在软件开发过程中,日志记录是一项至关重要的任务,它不仅帮助开发者在开发阶段调试代码,也在生产环境中帮助运维人员监控系统状态,及时发现并解决问题。...
总结来说,Log4j-1.2.9是一个重要的日志工具,它提供了灵活的日志记录机制,便于调试、监控和问题排查。通过学习和实践提供的实例,开发者可以更好地掌握其用法,提高项目的可维护性和可追溯性。不过,随着技术的...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录工具,由Apache软件基金会开发。它提供了一种灵活且强大的机制来记录应用的运行情况,这对于调试、性能分析、问题追踪以及系统监控至关重要。这篇学习...
总结来说,log4j-1.2.15.jar是一个功能强大、灵活的日志框架,它在旧项目中的持久存在证明了其价值。尽管现代有更多先进的日志解决方案,但理解Log4j的工作原理对于任何Java开发者来说都是必要的,因为它不仅是一个...
总结来说,Log4j提供了一套强大的日志管理框架,通过自定义Appender和PrintStream,我们可以轻松地将`System.out.println()`的输出整合到Log4j中,从而实现日志的集中管理和分析。这对于大型项目或者需要严格监控的...
总结,log4j-1.2.8.jar作为一款经典的日志工具,其源码和实践应用对于我们理解日志处理机制、优化系统监控及故障排查具有重要意义。通过深入学习和应用,我们可以更好地管理和利用日志信息,提升软件质量和运维效率...
通过本文档的学习,我们了解了log4j配置文件的基本结构和关键配置项的含义。正确配置log4j可以帮助开发者高效地管理和分析程序运行过程中的信息,对于软件开发和维护具有重要意义。希望初学者能够结合实际项目需求,...
### Log4j 学习笔记知识点详解 #### 一、Log4j 概述与架构 **Log4j** 是 **Apache** 组织提供的一个开源日志框架,旨在简化应用开发中的日志记录工作。它能够灵活地记录程序运行时的信息,并允许用户自定义日志的...
### Log4J 最简入门详解 #### 一、Log4J简介与基本概念 Log4J是一款非常流行的Java日志框架,由Apache...通过学习这些基础内容,开发者可以轻松地在自己的项目中集成Log4J,从而更好地管理和调试应用程序的日志信息。
- 通过对`log4j`的基本概念、主要组件以及配置方法的学习,我们可以有效地利用`log4j`来管理项目的日志记录需求,提高开发效率并确保应用稳定运行。 #### 11. 附录 - **参考文档**:列出了一些相关的技术文档和资料...
Log4j是一款广泛应用于Java平台的日志记录框架,它提供了灵活且...通过学习和掌握Log4j,开发者可以提高代码的可维护性和问题定位的效率。在实际应用中,根据项目需求调整配置文件,可以实现对日志的精细化管理和控制。
### Log4j入门详解 #### 1. Log4j简介 ...总结而言,Log4j是一个非常强大的日志管理工具,通过合理的配置可以极大地提高日志记录的效率和可读性。无论是初学者还是经验丰富的开发者,都能从中受益。