servlet中使用和配置log4j

1、引入jar包

2、在web.xml配置文件中做如下配置

 <servlet>
    <servlet-name>Log4jInitServlte</servlet-name>
    <servlet-class>com.zdys.Servlte.Log4jInitServlte</servlet-class>
     <init-param>  
	<param-name>log4j</param-name>  
	<param-value>WEB-INF/log4j.properties</param-value><!--log4j配置文件路径-->  
	</init-param>  
	<load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Log4jInitServlte</servlet-name>
    <url-pattern>/Log4jInitServlte</url-pattern>
  </servlet-mapping>

3.在web-INF下创建log4j.properties配置文件 配置文件内容如下


  1. 其语法为:  
  2.     log4j.rootLogger = [ level ] , appenderName1, appenderName2, …  
  3. level: 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或  
  4. 者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。  
  5. appenderName: 就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。  
  6.         例如:log4j.rootLogger=info,A1,B2,C3 

Appender 为日志输出目的地,Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

log4j.rootLogger=DEBUG,A1,A2,A3,A4,A6
 
###  system.out  ###
log4j.appender.A2 =org.apache.log4j.ConsoleAppender
log4j.appender.A2.Threshold=DEBUG
log4j.appender.A2.Target=System.out
log4j.appender.A2.encoding=UTF-8
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
 
### file debug ###
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File = ../logs/DServerDebug.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
###log4j.appender.A1.MaxFileSize=100MB
log4j.appender.A1.encoding=UTF-8
log4j.appender.A1.Append = true
log4j.appender.A1.Threshold = DEBUG
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
 
### file INFO ###
log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.File = ../logs/DServerINFO.log
log4j.appender.A3.DatePattern='.'yyyy-MM-dd
###log4j.appender.A3.MaxFileSize=10MB
log4j.appender.A3.encoding=UTF-8
log4j.appender.A3.Append = true
log4j.appender.A3.Threshold = INFO
log4j.appender.A3.layout = org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n


### file WARN ###
log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.File = ../logs/DServerWARN.log
log4j.appender.A3.DatePattern='.'yyyy-MM-dd
###log4j.appender.A3.MaxFileSize=10MB
log4j.appender.A3.encoding=UTF-8
log4j.appender.A3.Append = true
log4j.appender.A3.Threshold = WARN
log4j.appender.A3.layout = org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
  
 
### file ERROR ###
log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.File = ../logs/DServerERROR.log
log4j.appender.A4.DatePattern='.'yyyy-MM-dd
###log4j.appender.A4.MaxFileSize=100MB
log4j.appender.A4.encoding=UTF-8
log4j.appender.A4.Append = true
log4j.appender.A4.Threshold = ERROR
log4j.appender.A4.layout = org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n


# everyday    
log4j.appender.A6=org.apache.log4j.DaliyRollingFileAppender    
log4j.appender.A6.File=../logs/DServerEveryDay.log     
log4j.appender.A6.DatePattern=yyyyMMdd-HH'.log'     
log4j.appender.A6.layout=org.apache.log4j.PatternLayout     
log4j.appender.A6.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n 

4、创建Log4jInitServlte类

package com.zdys.Servlte;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.PropertyConfigurator;


public class Log4jInitServlte  extends HttpServlet{

	/**
	 * 
	 */
	private static final long serialVersionUID = -865926669490098235L;
	
	public Log4jInitServlte() {
		super();
	}
	
	/**
	 * 初始化Servlet
	 */
	public void init() throws ServletException {
		
		Logger logger = Logger.getLogger(Log4jInitServlte.class);			
String path = getServletContext().getRealPath("/"); String log4jpropfile = path + getInitParameter("log4j"); System.out.println("日志的配置文件路径为:"+log4jpropfile); if(log4jpropfile != null) { PropertyConfigurator.configure(log4jpropfile); //载入配置文件 System.out.println("日志的配置文件读取成功"); }

		logger.fatal("这是一条从TestServlet产生的fatal信息!");
		logger.error("这是一条从TestServlet产生的error信息!");
		logger.warn("这是一条从TestServlet产生的warn信息!");
		logger.debug("这是一条从TestServlet产生的debug信息!");
		logger.info("这是一条从TestServlet产生的info信息!");

	}
	
	/**
	 * doGet
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
		
	}
	
	/**
	 * doPost
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");//设置字符编码
		response.setContentType("text/html;charset=utf-8");
		
			
		
	}
	
	/**
	 * 销毁Servlet
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		
	}

}



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值