这两天在把一个系统向新平台迁移,碰到一个问题,日志文件没有生成,也谈不上记录日志了。该系统在以前的环境是可以记录日志的,系统是Spring框架,日志采用log4j。最后分析了一下,由于重新写了一个web.xml,其中配置了Log4jConfigLocation,但是没有配置org.springframework.web.util.Log4jConfigListener,所以日志文件没有产生。
把采用spring框架中log4j方面的配置整理一下:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>myapp.root</param-value>
</context-param>
<!--
如果不设置该参数,webAppRootKey默认缺省是"webapp.root",Web容器启动时会把root的路径写到系统变量中,log4j.properties文件用${webName.root }来表示Web目录的绝对路径,例如:log4j.appender.ROLLING_FILE.File=${myapp.root}/WEB-INF/myapp.log。
注意:为避免多个应用的冲突,如果多应用的话,需要设置这个参数。
-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<!--
指定log4j.properties配置文件的位置
-->
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--
Spring监听log4j配置文件的间隔时间,单位为毫秒
-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!--
Log4jConfigListener是spring的类,它开启一个log4j的监听线程,并每60 秒检测日志配置变化,不需要每次重新启动web应用以使新的配置生效。
注意:该listener是必须配置的,否则日志文件生不出来。
-->
附录:
2011-7-27 18:58:25 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2011-7-27 18:58:44 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: 'eprapp.root' = [D:\aa\apache-tomcat-6.0.18\webapps\erpmmmmapp\]
2011-7-27 18:58:44 org.apache.catalina.core.ApplicationContext log
信息: Initializing Log4J from [D:\XXXXX\WEB-INF\classes\log4j.properties]
分享到:
相关推荐
Struts、Spring、Hibernate、Log4j和Dom4j是Java开发中常用的一系列框架和技术,它们在构建大型企业级应用时发挥着至关重要的作用。接下来,我们将详细探讨这些技术的核心概念、功能以及它们如何协同工作。 1. ...
上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...
Struts、Hibernate、Spring、XDoclet、Ant和Log4j是Java开发中常见的六个重要组件,它们在企业级应用开发中发挥着关键作用。这些技术的整合为开发者提供了高效、灵活和可维护的解决方案。 **Struts** 是一个基于MVC...
在Spring框架中,我们可以使用Spring的`PropertyPlaceholderConfigurer`来读取`log4j.properties`文件中的配置,并动态注入到应用中。这允许我们在不重启应用的情况下,通过修改外部的配置文件来调整日志级别和输出...
在项目中,我们需要修改Spring Boot的默认配置,指定使用Log4j2,并在项目的配置文件中(如`log4j2.xml`或`log4j2.json`)定义日志级别、输出格式和目标位置。 在项目中,"springBootMybatis"这个压缩包文件可能...
在使用log4j时,经常会在控制台或日志文件中看到乱码,尤其是在涉及中文字符的情况下。这通常是由于日志系统的字符编码设置与应用程序的字符编码不一致导致的。例如,如果应用程序使用的是UTF-8编码,而log4j默认...
文件中内容包括模块中某个类单独输出到一个日志文件中、模块中某个package单独输出到一个日志文件中、同一模块不同package输出到一个日志文件中三种情况下log4j.properties配置项配置事例、Java类中代码如何一致编写...
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd'.log' # 每天生成一个新的日志文件 # 设置日志格式 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d...
Spring框架作为Java企业级应用开发的首选,而Log4j则是广泛使用的日志记录工具,两者结合可以提供强大的日志管理能力。下面将详细阐述"spring整合log4j"的相关知识点。 首先,Log4j是Apache的一个开源项目,它为...
SSM+redis+log4j+swagger 是一个基于Java的Web开发组合,涵盖了Spring、SpringMVC、MyBatis三个核心框架,以及Redis缓存、Log4j日志管理和Swagger API文档工具。以下是对这些技术栈的详细说明: 1. **Spring**:...
Log4j是Apache的一个开源项目,用于生成日志。它的核心功能包括定义日志级别(如DEBUG、INFO、WARN、ERROR),配置日志输出目的地(控制台、文件、数据库等),以及自定义日志格式。SpringBoot默认使用的是Logback,...
除了基本的日志功能,Log4j还支持与其他日志框架(如Logback)的互操作,以及与Spring等框架的集成,提供更强大的日志管理和监控能力。 通过这个"log4j示例项目",我们可以亲手实践这些概念,更好地理解和运用Log4j...
5. Log4j:Log4j是一个日志记录框架,它提供灵活的日志记录控制,可以根据需要调整日志级别,方便调试和问题排查。在项目中,Log4j用于记录应用程序运行过程中的各种信息,包括错误、警告和调试信息,帮助开发者跟踪...
Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4j2作为Log4j的升级版本,它在性能、可配置性和可扩展性上有了显著提升,同时也修复了Log4...
Log4jdbc是Apache Log4j的一个扩展,专门用于记录Java应用程序执行的SQL语句。它可以在不改变代码的情况下,收集和记录数据库查询的日志,这对于性能分析、问题排查以及理解应用程序数据库交互行为非常有用。在项目...
在SpringBoot中集成Log4j2,我们需要在资源目录下创建log4j2.xml或log4j2.json配置文件,定义日志级别、输出格式和目的地。 这个"template-master"可能是项目模板,包含了一个完整的配置示例。在这个模板中,你可能...
6. **Log4j配置文件**:如`log4j.properties`或`log4j.xml`,配置日志输出级别、目的地和格式。 7. **源代码**:包括Controller、Service、DAO、实体类等,实现业务逻辑。 通过这些配置和代码,开发者可以构建一个...
5. **配置Log4j**:设置Log4j的配置文件,定义日志输出的级别、目的地(如文件、控制台、邮件等)以及日志格式。 6. **实现业务逻辑**:根据需求,使用SpringMVC处理HTTP请求,通过Mybatis执行数据库操作,利用...
除了这三个框架,`log4j.jar`是Apache的日志工具,用于记录应用程序运行过程中的信息,帮助开发者调试和追踪问题。`log4`可能是log4j的一个版本或者配置文件。`dom4j`是处理XML文档的库,它提供了强大的DOM、SAX和...
SLF4J(Simple Logging Facade for Java)则是一个日志门面,为各种日志框架提供了一个抽象层,允许开发者在运行时插入合适的日志实现,如log4j2。这种解耦使得更换日志框架变得更加容易。 **durid** Durid是阿里...