`
garyli
  • 浏览: 172997 次
  • 性别: 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!");  

分享到:
评论

相关推荐

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

    spring-mvc.xml spring-mybatis.xml web.xml log4j.properties,项目中需要用到的配置文件。直接可用。

    log4j与web.xml的配置

    log4j与web.xml的配置,并输出到日志文件!有不明白的可以把问题发到我的QQ邮箱:522134398@qq.com

    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 xmlweb最佳配置备份

    log4j xmlweb最佳配置备份

    ssm一个简单项目所需的xml配置文件

    ssm一个简单项目所需的xml配置文件,spring+springmvc+mybatis框架中用到...项目中还会用到两个资源属性文件jdbc.properties和log4j.properties.一个是关于jdbc的配置,提取出来方便以后的修改.另一个是日志文件的配置.

    log4j.properties

    一个较实用的log4j.properties,直接复制贴进项目resource再在web.xml写好配置就可以直接用了

    springmvc5+hibernate5+junit4+log4j2整合实例

    springmvc5+hibernate5+junit4+log4j2整合实例 包含 代码实例 数据库建表sql 运行环境 myeclipes2015 jdk 1.8 tomcat 8.0

    总结的一些关于log4j的文章

    jboss下通过配置log4j.xml实现web应用的日志.htm log4j.xml log4j.xml配置文件设置.doc Log4J快速入门.htm pwosboy -JavaEye技术社区.htm 将系统日志发布到多个文件.htm 请问怎么控制日志的输出啊.htm 怎样关闭...

    负载均衡软件

    软件负载均衡, 为没有部署硬件负载均衡器的应用提供负载均衡功能;已打包成war文件; 1. 系统提供完整的日志信息...4. log4j配置文件位置在classpath:/log4j.properties 5. web.xml配置文件位置在/WEB-INF/web.xml

    Log4net详细说明使用

    第二步:程序启动时读取log4net的配置文件。 如果是CS程序,在根目录的Program.cs中的Main方法中添加: log4net.Config.XmlConfigurator.Configure(); 如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的...

    log4j-socketappender:自定义 Log4J 的 SocketAppender,在日志服务器和调用事件的各种客户端之间进行通信

    log4j-socketappender ... test/resources/log4j.xml - 显示如何应用 AsynchListener。 AsynchListener 和 EventListener 可以部署为服务器中的两个不同模块。 服务器可以是独立的或 Web 应用程序。

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Spring 配置

    1.创建web工程 2.导入jar spring-framework-2.5.6\dist\...spring-framework-2.5.6\samples\jpetstore\war\WEB-INF\log4j.properties spring-framework-2.5.6\samples\jpetstore\war \WEB-INF\applicationContext.xml

    XML解析器Tiny.xml.zip

    tiny.xml 是应用在浏览器里的XML解析器,只有1.6kb大小。暂时不支持Node.js,如果你想让其支持Node.js,可以参看这里。安装npm安装npm install tiny.xml直接从CDN获取使用&lt;!-- Unminified 3.3KB --&gt; ...

    ssm配置文件.txt

    applicationContext.xml applicationContext-mvc.xml mybatis-config.xml web.xml log4j.properties

    maven+ssm基础配置文件

    内容为 rom.xml springmvc.xml spring.xml mybaties-config.xml db.properties log4j.properties web.xml

    JAVA SSH青协志愿服务管理系统源码.rar

    log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...

    azkaban-3.38安装包(已编译)

    log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n 5. 在azkaban-exec-server目录下...

    JAVA SSH青协志愿服务管理系统源码

    log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传下载, admin common 前台JSP页面 WEB-INF (lib+jsp+*.xml) ...

    SSH代码生成工具 SSH代码生成器

    日志管理配置 --&gt; log4j.xml 国际化配置--&gt;globalMessages_zh.properties(中文) globalMessages_en.properties(英文) 页面美工 --&gt; 页面按钮样式及CSS样式文件 生成的代码直接拷贝到MyEclipse里,做简单设置,...

Global site tag (gtag.js) - Google Analytics