`
garyli
  • 浏览: 176215 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j.xml web.xml配置

    博客分类:
  • java
阅读更多

log4j.xml配置实现配置实现配置实现配置实现  

先写一个Servlet的listener,用来监听服务启动,并自动解析log4j.xml文件 代码如下:

 

 

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.log4j.LogManager;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator; 
public class Log4jConfigListener implements ServletContextListener{  
 
	public static final String CONFIG_LOCATION_PARAM = "log4jConfigLocation";  
	public static final String XML_FILE_EXTENSION = ".xml";

	public void contextDestroyed(ServletContextEvent event) {  
		// TODO Auto-generated method stub  
		LogManager.shutdown();  
	}

	public void contextInitialized(ServletContextEvent event) {  
		// TODO Auto-generated method stub  
		String location = event.getServletContext().getInitParameter(CONFIG_LOCATION_PARAM);  		if (location != null) {    
			if (!location.startsWith("/")) {    
				location = "/" + location;    
			}  
			location = event.getServletContext().getRealPath(location);

			//如果是xml结尾就用DOM解析,否则就用properties解析    
			if (location.toLowerCase().endsWith(XML_FILE_EXTENSION)) {  
				DOMConfigurator.configure(location);    
			}else {    
				PropertyConfigurator.configure(location);    
			}      
		}  
	}
}
 

 

 

再写个util类,用来生成所要的不同类型的日志 

代码如下:

 

 

package com.zhaopin.util;
import org.apache.log4j.Logger;

public class Log4jUtil {    

	public static Logger getSQLLogger(){  
		return Logger.getLogger("sql");  
	}    

	public static Logger getBusinessLogger(){  
		return Logger.getLogger("business");  
	}    

	public static Logger getSimpleErrorLogger(){  
		return Logger.getLogger("simpleError");  
	}    

	public static Logger getNormalErrorLogger(){  
		return Logger.getLogger("normalError");  
	}
}  
 

 

 

下面开始写配置文件,先要在web.xml下添加信息

 

下面开始写配置文件,先要在web.xml下添加信息

 

<context-param>  
	<param-name>log4jConfigLocation</param-name>  
	<param-value>/WEB-INF/Log4j.xml</param-value>  
</context-param>

<!-- 加载log4j配置文件 -->  
<listener>  
	<listener-class>Log4jConfigListener</listener-class>  
</listener>  
 

 

最重要的log4j.xml的配置信息如下:

 

 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  

<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">  
	<param name="target" value="System.out"/> 
	<layout class="org.apache.log4j.PatternLayout">    
		<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] (%C:%L) - %m%n"/>  
	</layout>  
</appender>

<!-- SQL类日志 -->  
<appender name="sql" class="org.apache.log4j.DailyRollingFileAppender">  
	<param name="File" value="/usr/local/tomcat/logs/testlog4j.sql.log"/>  
	<param name="Append" value="true"/>
	<!-- name="DatePattern" 配置这条信息是让日志每天自动生成,名字尾部追加日期格式, 第一天生成的日志需第二天才能看到log 可以通过更改系统时间来看日志的输出 -->  
	<param   name="DatePattern"   value="'.'yyyy-MM-dd"/>  
	<layout class="org.apache.log4j.PatternLayout">    
		<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] (%C:%L) - %m%n"/>  
	</layout>  
</appender>    

<!-- 业务类日志 -->  
<appender name="business" class="org.apache.log4j.DailyRollingFileAppender">  
	<param name="File" value="/usr/local/tomcat/logs/testlog4j.business.log"/>  
	<param name="Append" value="true"/>   <param   name="DatePattern"   value="'.'yyyy-MM-dd"/>  
	<layout class="org.apache.log4j.PatternLayout">    
		<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] (%C:%L) - %m%n"/>  
	</layout>  
</appender>    

<!-- 不带执行轨迹错误日志 -->  
<appender name="simpleError" class="org.apache.log4j.DailyRollingFileAppender">  
	<param name="File" value="/usr/local/tomcat/logs/testlog4j.error.simple.log"/>  
	<param name="Append" value="true"/>  
	<param   name="DatePattern"   value="'.'yyyy-MM-dd"/>  
	<layout class="org.apache.log4j.PatternLayout">    
		<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] (%C:%L) - %m%n"/>  
	</layout> 
</appender>    

<!-- 带执行轨迹错误日志 -->  
<appender name="normalError" class="org.apache.log4j.DailyRollingFileAppender">  
	<param name="File" value="/usr/local/tomcat/logs/testlog4j.error.normal.log"/>  
	<param name="Append" value="true"/>  
	<param   name="DatePattern"   value="'.'yyyy-MM-dd"/>  
	<layout class="org.apache.log4j.PatternLayout">    
		<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] (%C:%L) - %m%n"/>  
	</layout>  
</appender>          

<logger name="sql" additivity="true">  
	<priority value="info"/>  
	<appender-ref ref="sql"/>  
</logger>  

<logger name="business" additivity="true">  
	<priority value="info"/>  
	<appender-ref ref="simpleError"/>  
</logger>  

<logger name="simpleError" additivity="true">  
	<priority value="info"/>  
	<appender-ref ref="simpleError"/>  
</logger>  

<logger name="normalError" additivity="true">  
	<priority value="info"/>  
	<appender-ref ref="normalError"/>  
</logger>  

<root>            
	<appender-ref ref="STDOUT"/>            
	<priority value="info"/>      
</root>  

</log4j:configuration>
 

 

在程序中应用时需要编写如下代码: Log4jUtil.getBusinessLogger().info("message!");  

分享到:
评论

相关推荐

    log4j与web.xml的配置

    - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties ``` - 接着,使用`...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    Log4j2学习log4j2.xml配置模板

    下面是一个较为完整的 Log4j2.xml 配置模板: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!--日志级别以及优先级排序: OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt; &lt;!--Configuration 后面...

    SSM整合中的Log4j日志的配置详情

    在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` &lt;listener-class&gt;org.springframework.web.util.Log4...

    log4j.xml配置实现.pdf

    总结来说,这个例子展示了如何通过`log4j.xml`配置文件和`Log4jConfigListener`监听器在Java Web应用中实现自动化的日志配置。通过这种方法,我们能灵活控制日志的输出,便于调试和问题排查,同时还能根据需要定制...

    Spring项目中怎么配置log4j

    最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml &lt;param-name&gt;log4jConfigLocation ...

    [SSH+Maven+Bootstrap视频教程]_17. 添加 log4j.properties 配置文件.zip

    在本节视频教程中,我们将深入探讨如何在Java项目中集成SSH(Struts、Spring、Hibernate)框架,并结合Maven构建工具以及Bootstrap前端框架,来添加和配置`log4j.properties`日志文件。这个过程对于任何Java开发人员...

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    对于Web应用,如果你使用的是Spring Boot,可以在`src/main/resources`目录下创建`log4j2.xml`,因为Spring Boot默认使用Log4j2。配置方法类似,但需按照Log4j2的XML语法编写。 在实际开发中,我们可能需要根据不同...

    log4j.properties文件放置在其它目录下

    但是,如果我们想把 log4j.properties 文件放置在其它目录下,例如:WEB-INF 下和 web.xml 放在一起,这时候就需要我们手动指定 log4j 配置文件的路径,否则系统是找不到的。 在将 log4j.properties 文件放置在其它...

    log4j.jar各个版本

    apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1....log4j-xml-1.3alpha-7.jar, log4j.jar, org.apache.log4j_1.2.15.v201005080500.jar, org.apache.log4j_1.2.15.v201012070815.jar

    log4j中配置日志文件相对路径方法(PDF)

    除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml &lt;appender name="logfile" class="org.apache.log4j....

    log4j使用笔记

    #### 四、log4j 配置详解 1. **配置文件**: - `log4j.properties` 或 `log4j.xml` 文件用于定义 log4j 的配置规则。 - 配置文件通常放置在项目的根目录或者类路径下。 - 如果未指定配置文件的位置,则 log4j 会...

    log4j(二):动态配置日志输出路径

    在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml &lt;!-- web.xml 示例 --&gt; ...

    maven+springmvc+mybatis+log4j框架搭建

    配置Log4j,你需要创建一个`log4j.properties`或`log4j.xml`文件,定义日志级别(如DEBUG、INFO、WARN等)、输出目的地和布局格式。这样,你就可以在开发和调试过程中方便地追踪错误和调试信息。 在实际项目中,这...

    tomcat下的log4j日志配置

    本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...

    tomcat下struts2的log4j日志配置.doc

    2. 创建Log4j配置文件(properties或XML格式)。 3. 在J2EE应用的`web.xml`中配置Log4j初始化。 4. 如果需要,还可以在Struts2配置文件中调整框架级别的日志行为。 通过灵活配置Log4j,开发人员可以有效地监控应用...

    log4j xmlweb最佳配置备份

    根据提供的文件信息,我们可以深入探讨Log4j框架的配置与最佳实践。Log4j是一个流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录功能,可以方便地定制日志级别、格式及输出目标等。...

    tomcat9 slf4j+log4j2 写日志.zip

    2. **配置Log4j2**:Tomcat 9允许你在`$CATALINA_BASE/conf`目录下创建`log4j2.xml`文件来定制日志配置。`tomcat9-log4j2.xml`应该包含了如下内容: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    为了使配置生效,我们需要在`web.xml`中添加如下配置,让Spring容器加载log4j配置: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties&lt;/param-value&gt; &lt;!-- 指定log4j...

    老生常谈Log4j和Log4j2的区别(推荐)

    Log4j想要生效,我们需要在web.xml中进行配置,以告诉工程去哪加载log4j的配置文件和定义一个扫描器。相比之下,Log4j2就比较简单,我们只需要把log4j2.xml文件放到工程的resource目录下就行了。 Log调用 Log4j和...

Global site tag (gtag.js) - Google Analytics