此配置把全部日志写到一个文件,然后把error日志抽出来再单独写一个文件
这样查找日志方便点。。。
${WORKDIR} 在容器启动的时候添加:
这样查找日志方便点。。。
### 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);
}
}