`

转载:Log4j配置

阅读更多

转载后整理,转自:http://www.educity.cn/wenda/115510.html

 

Log4j配置webAppRootKey
为了让Web项目中的Spring 使用Log4j做如下配置: 

1、在web.xml中添加如下内容: 

<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。 
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。 
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。 
此参数用于后面的“Log4jConfigListener”--> 
<context-param> 
<param-name>webAppRootKey</param-name> 
<param-value>webName.root</param-value> 
</context-param> 

<!--由Sprng载入的Log4j配置文件位置--> 
<context-param> 
<param-name>log4jConfigLocation</param-name> 
<param-value>/WEB-INF/log4j.properties</param-value> 
</context-param> 

<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond--> 
<context-param> 
<param-name>log4jRefreshInterval</param-name> 
<param-value>60000</param-value> 
</context-param> 

<!-- Web 项目 Spring 加载 Log4j 的监听 --> 
<listener> 
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 

 

2、编写log4j.properties属性文件,使用web.xml配置的全局变量: 

log4j.appender.A_default.File=${webName.root}/WEB-INF/logs/log4j.log 

详细内容略。 


-------------------------------------------------------------------- 
log4j是很好用的一个工具,在目前的WEB项目中经常使用。配上jakarta的common logging和Eclipse的插件Log4E很好用。 

不过还是有几个不太方便的地方: 

1 Log4j的配置文件修改了之后必须重启才能生效 

2 配置文件只能放在WEB-INF/classes 

Spring对于Log4j有了更好的增强,配置文件修改后不需要重启,不用再放到WEB-INF/classes目录下。 

下面是要在web.xml中增加的配置参数。 

<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"--> 
<context-param> 
<param-name>webAppRootKey</param-name> 
<param-value>WebConsole2.root</param-value> 
</context-param> 

<!--由Sprng载入的Log4j配置文件位置--> 
<context-param> 
<param-name>log4jConfigLocation</param-name> 
<param-value>/WEB-INF/log4j.xml</param-value> 
</context-param> 

<!--Spring默认刷新Log4j配置文件的间隔,单位为毫秒--> 
<context-param> 
<param-name>log4jRefreshInterval</param-name> 
<param-value>60000</param-value> 
</context-param> 

<!--Spring log4j Config loader--> 
<listener> 
<listener-class> 
org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 

 

第一个参数webAppRootKey如果只有一个应用用了Spring对Log4J的增强,则可以不用设置;否则一定要进行设置。 

这个以前也不知道,也是今天在同时发布两个应用的时候出了问题后Google发现的。 

相对应的log4j的配置文件(用的xml格式): 

< xml version="1.0" encoding="UTF-8" > 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 

<log4j:configuration xmlns:log4j=""> 

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
<layout class="org.apache.log4j.PatternLayout"> 
<param name="ConversionPattern" 
value="%p --- %C{1}.%M(%L) | %m%n"/> 
</layout> 
</appender> 

<appender name="LOG_FILE" class="org.apache.log4j.RollingFileAppender"> 
<param name="Threshold" value="ALL"/> 
<param name="File" 
value="${WebConsole2.root}/WEB-INF/logs/WebConsole2.log"/> 
<param name="Append" value="true"/> 
<param name="MaxFileSize" value="500KB"/> 
<param name="MaxBackupIndex" value="1"/> 
<layout class="org.apache.log4j.PatternLayout"> 
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> 
</layout> 
</appender> 

<logger name="org.apache.struts"> 
<level value="warn"/> 
</logger> 

<logger name="org.springframework"> 
<level value="warn"/> 
</logger> 

<logger name="com.rb.webconsole"> 
<level value="all"/> 
</logger> 

<root> 
<level value="off"/> 
<appender-ref ref="CONSOLE"/> 
<appender-ref ref="LOG_FILE"/> 
</root> 

</log4j:configuration> 

 

注意现在log文件的位置在/WEB-INF/logs目录下了。

分享到:
评论

相关推荐

    log4j-core-2.17.1-API文档-中文版.zip

    赠送jar包:log4j-core-2.17.1.jar; 赠送原API文档:log4j-core-2.17.1-javadoc.jar; 赠送源代码:log4j-core-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-core-2.17.1.pom; 包含翻译后的API文档:log4j-...

    log4j-slf4j-impl-2.17.1-API文档-中英对照版.zip

    赠送jar包:log4j-slf4j-impl-2.17.1.jar; 赠送原API文档:log4j-slf4j-impl-2.17.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.17.1.pom; ...

    log4j配置文件说明(完整版)

    Log4j 配置文件说明 Log4j 是一种流行的日志记录工具,用于记录和管理应用程序中的日志信息。配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。在本文中,我们将详细介绍 ...

    log4j-api-2.7-API文档-中文版.zip

    赠送jar包:log4j-api-2.7.jar; 赠送原API文档:log4j-api-2.7-javadoc.jar; 赠送源代码:log4j-api-2.7-sources.jar; 赠送Maven依赖信息文件:log4j-api-2.7.pom; 包含翻译后的API文档:log4j-api-2.7-javadoc-...

    log4j-jul-2.12.1-API文档-中英对照版.zip

    赠送jar包:log4j-jul-2.12.1.jar; 赠送原API文档:log4j-jul-2.12.1-javadoc.jar; 赠送源代码:log4j-jul-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-jul-2.12.1.pom; 包含翻译后的API文档:log4j-jul-...

    log4j-api-2.12.1-API文档-中文版.zip

    赠送jar包:log4j-api-2.12.1.jar; 赠送原API文档:log4j-api-2.12.1-javadoc.jar; 赠送源代码:log4j-api-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-api-2.12.1.pom; 包含翻译后的API文档:log4j-api-...

    log4j配置和加载方法

    ### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出方式,广泛应用于Java应用的开发中。本文将深入解析log4j的配置与加载机制,帮助开发者更好地...

    Log4j2简介及与Log4j效率对比

    5. **简化配置**:Log4j2配置文件更加简洁易读,不再需要显式指定类名来实现特定的功能。 6. **自定义日志级别**:除了内置的日志级别(如DEBUG、INFO、WARN、ERROR、FATAL),Log4j2还支持用户自定义的日志级别,...

    SpringBoot框架配置log4j和log4j2的配置代码

    Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...

    log4j-api-2.17.1-API文档-中文版.zip

    赠送jar包:log4j-api-2.17.1.jar; 赠送原API文档:log4j-api-2.17.1-javadoc.jar; 赠送源代码:log4j-api-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-api-2.17.1.pom; 包含翻译后的API文档:log4j-api-...

    Log4j2学习log4j2.xml配置模板

    Log4j2 配置模板学习笔记 Log4j2 是 Java 语言中一种流行的日志记录工具,它提供了灵活的日志记录管理功能。下面我们将学习 Log4j2 配置模板的使用和配置。 引入 Log4j2 依赖 在使用 Log4j2 之前,需要在 Maven ...

    日志实战样例配置:log4j-demo.zip

    1. `log4j.properties`或`log4j.xml`:这是`log4j`的配置文件,用于设置日志行为。例如,你可以在这里定义多个Appender,为不同的日志级别设置不同的输出目的地。布局(Layout)也可以在这里配置,如PatternLayout...

    log4j-to-slf4j-2.17.1-API文档-中文版.zip

    赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...

    log4j-over-slf4j-1.7.33-API文档-中文版.zip

    赠送jar包:log4j-over-slf4j-1.7.33.jar; 赠送原API文档:log4j-over-slf4j-1.7.33-javadoc.jar; 赠送源代码:log4j-over-slf4j-1.7.33-sources.jar; 赠送Maven依赖信息文件:log4j-over-slf4j-1.7.33.pom; ...

    log4j-to-slf4j-2.12.1-API文档-中文版.zip

    赠送jar包:log4j-to-slf4j-2.12.1.jar; 赠送原API文档:log4j-to-slf4j-2.12.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.12.1.pom; 包含翻译后...

    tomcat下的log4j日志配置

    ### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...

    log4j-slf4j-impl-2.12.1-API文档-中英对照版.zip

    赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...

    log4j-core-2.7-API文档-中文版.zip

    赠送jar包:log4j-core-2.7.jar; 赠送原API文档:log4j-core-2.7-javadoc.jar; 赠送源代码:log4j-core-2.7-sources.jar; 赠送Maven依赖信息文件:log4j-core-2.7.pom; 包含翻译后的API文档:log4j-core-2.7-...

    log4j-1.2.17-API文档-中文版.zip

    赠送jar包:log4j-1.2.17.jar; 赠送原API文档:log4j-1.2.17-javadoc.jar; 赠送源代码:log4j-1.2.17-sources.jar; 赠送Maven依赖信息文件:log4j-1.2.17.pom; 包含翻译后的API文档:log4j-1.2.17-javadoc-API...

    log4j-控制指定类,包的日志级别:log4j-demo.zip

    在Log4j中,控制日志级别主要通过配置文件`log4j.properties`或`log4j.xml`来实现。在提供的压缩包`log4j-demo`中,我们可以找到这样的配置文件。例如,如果我们想要控制特定类`com.example.MyClass`的日志级别为...

Global site tag (gtag.js) - Google Analytics