目前用的log4j.properties

此配置把全部日志写到一个文件,然后把error日志抽出来再单独写一个文件
这样查找日志方便点。。。

### set log levels ###
log4j.rootLogger = info, stdout, D, E


### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c:%L - %m%n


### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${WORKDIR}/logs/log.log
log4j.appender.D.Append = true
## 输出DEBUG级别以上的日志
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - %c:%L - [%p] %m%n


### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
## 异常日志文件名
log4j.appender.E.File = ${WORKDIR}/logs/error.log
log4j.appender.E.Append = true
## 只输出ERROR级别以上的日志!!!
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [%t\:%r] - %c:%L - [%p] %m%n


${WORKDIR} 在容器启动的时候添加:
/**
 * WebContainerListener.java
 * 
 * Created Date:	2010/07/12		
 * Last Update:		2010/07/12	    
 * 
 * Copyright (c) Wunderman. All Rights Reserved.
 */
package com.cal.interceptor;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * @version 1.00
 * 
 * <b>修改历史:</b><br>
 * @history 		2010/07/12: 初版 		
 * @author			mahongmin      				
 * @peer review									
 * 
 *
 */
public class WebContainerListener implements ServletContextListener{

	/**
	 * 容器生命周期结束
	 */
	public void contextDestroyed(ServletContextEvent sce) {
		
	}

	/**
	 * 容器初始化
	 */
	public void contextInitialized(ServletContextEvent sce) {
		createLogFile(sce);
	}
	
	/**
	 * 如果没有日志文件,则创建
	 * @param sce
	 */
	private void createLogFile(ServletContextEvent sce){
		String root = sce.getServletContext().getRealPath("");
		String separator = File.separator ;
		//全部日志
        String logName = "log.log" ;
        //仅错误日志
        String logEName = "error.log" ;
        String directoryLog  = root + separator + "logs";
        String directoryELog  = root + separator  + "logs";
        File fLog = new File(directoryLog , logName) ;
        File fELog = new File(directoryELog , logEName) ;
        if(!fLog.exists()) {
        	fLog.getParentFile().mkdirs() ;
            try {
				fLog.createNewFile() ;
			} catch (IOException e) {
				e.printStackTrace();
			}
        }
        if(!fELog.exists()) {
        	fELog.getParentFile().mkdirs() ;
            try {
            	fELog.createNewFile() ;
			} catch (IOException e) {
				e.printStackTrace();
			}
        }
        System.setProperty("WORKDIR", root);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值