注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

love3400wind的blog

like

 
 
 

日志

 
 
 
 

使用LOG4J 把日志写入 GUI components 与 file文件中  

2012-02-23 13:03:41|  分类: IT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
把日志写入文件

先配置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测试程序启动");

执行程序就可以看到了

使用中,文件感觉有置后

  评论这张
 
阅读(1448)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017