使用Log4j在系统中配置两个不同的Log输出

转自:http://blog.csdn.net/godroad/archive/2006/02/24/607940.aspx

<script type="text/javascript"></script>

一般的Log的使用,通配置Log4j的配置文件,就可以生成Log.

开发中碰到一个Log要求比高的需求。要求Log出分成两,一是普通Log,就是平常操作记录Log;一是异常Log,就是在出异常的候将异常记录下来。

log要在不一的文件中出。普通log纪录在三个文件中循使用。异常Log是在运行出异常的候新建一个文件详细记录异常的内容,一次运行出的异常信息记录在一个文件中,下次运行出异常新建一个文件。

个需求不能简单的通Log4j的配置文件来实现,而需要在代Log4j实现

public class LogRun {

  //定两个Log
 public static Logger normalLogger = Logger.getLogger("normal.logger");
 public static Logger exceptionLogger = Logger.getLogger("exception.logger");
 public static final String PROFILE = "log4j.properties";

  //定异常log出的路径
 private static final String PATH = "log/exception/";


 
static {
  URL configFileResource = LogRun.class.getResource(PROFILE);
  PropertyConfigurator.configure(configFileResource);
 }
 

  //构造方法,生成一个新的异常Log文件
 public LogRun(){
  try {
   Date date = new Date();
   SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
   String fileName = PATH + "exception_" + sf.format(date).toString() + ".log";
   FileAppender exceptionAppender = new FileAppender(new SimpleLayout(), fileName);
   exceptionLogger.addAppender(exceptionAppender);
  } catch (Exception e) {
   MessageBox.errorBox(e);
  }
 }
 
}

在代中,只要初始化:

public static Logger logger = Logger.getLogger(Log.class);

就可以通

LogRun.normalLogger.debug记录普通Log

当第一次出异常的候,需要初始化LogRun方法建一个异常文件。并且通LogRun.exceptionLogger.error记录异常Log。在下次出异常的

只要LogRun.exceptionLogger.error记录OK了。

附上配置文件:

log4j.category.normal.logger=DEBUG, normal,stdout
log4j.category.exception.logger=ERROR

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} %-5p  %m%n

log4j.appender.normal=org.apache.log4j.RollingFileAppender
log4j.appender.normal.File=log/normal.log
log4j.appender.normal.MaxFileSize=100kb
log4j.appender.normal.MaxBackupIndex=4
log4j.appender.normal.layout=org.apache.log4j.PatternLayout
log4j.appender.normal.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS} %-5p  %m%n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值