Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1676007
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类:

2010-11-29 01:00:42

把日志写入文件

先配置log4j.inf文件

log4j.rootLogger=debug,R

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=.\\system.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss,SSS}(%t)] %-5p %c -%m%n
#log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}] %-5p %-x %X{user} ---- %m%n


在主程序入口加静态属性

static org.apache.log4j.Logger log = org.apache.log4j.Logger.getRootLogger();


在构造方法中执行

 org.apache.log4j.PropertyConfigurator.configure("log4j.inf");


在需要输出日志的地方填加

log.info("LOG4J测试程序启动");

可以在程序目录下找到system.log内容:
[2003-11-16 16:45:06,218(AWT-EventQueue-0)] INFO  root - LOG4J测试程序启动


把日志写入文件同时写入自己的界面上

例如写到JTextArea 上

首先:
   写一个Appender类

package log4j;

import org.apache.log4j.*;
import org.apache.log4j.spi.*;

public class JTextAreaAppender extends AppenderSkeleton
{
javax.swing.JTextArea jText = null;

public JTextAreaAppender(Layout layout, javax.swing.JTextArea jText)
{
this.layout = layout;
this.jText = jText;
}

public JTextAreaAppender(javax.swing.JTextArea jText)
{
this.layout = new org.apache.log4j.PatternLayout("%p [%t] %c - %m%n");
this.jText = jText;
}

public void setJText(javax.swing.JTextArea jText)
{
this.jText = jText;
}

protected void append(LoggingEvent event)
{
if(this.jText == null)
return ;
this.subAppend(event);
}
public boolean requiresLayout()
{
return true;
}

public synchronized void close()
{
if (this.closed)
{
return;
}
this.closed = true;

}

public void subAppend(LoggingEvent event)
{
synchronized(jText)
{
this.jText.append(this.layout.format(event));
}

}

}


在主程序入口加静态属性

static org.apache.log4j.Logger log = org.apache.log4j.Logger.getRootLogger();


在构造方法中
org.apache.log4j.PropertyConfigurator.configure("log4j.inf");

后加
log.addAppender(new log4j.JTextAreaAppender(this.jTextArea1));


在需要输出日志的地方填加

log.info("LOG4J测试程序启动");

执行程序就可以看到了

使用中,文件感觉有置后 


jameszhang edited on 2004-11-18 08:17 

"First they ignore u, then they laugh at u, then they fight u, then u will win

Mahatma Gandhi"
阅读(1103) | 评论(0) | 转发(0) |
0

上一篇:界面状态控制

下一篇:JUnit介绍

给主人留下些什么吧!~~