log4j 使用体会

来源:互联网 发布:淘宝客阿里妈妈 编辑:程序博客网 时间:2024/06/05 00:35

百度百科里有log4j很详细的注释和说明。光光看说明,对一个新手来说,要再短时间里正确使用起来,恐怕比较难。这里结合自己的使用经历,说一说。

我用log4j 开发一个WEB项目,通过日记的记录,方便调试,已经,观察整个项目后期的运行状况,一个网站,对数据库的调用很平凡,没有操作记录,出错就很难找到根源。

 

在项目里,把log4j 安装其他jar文件一样的加入到项目的lib文件夹下,

在项目的classpath下配置log4j.properties文件;如下

log4j.rootLogger=error, stdout,R  //配置两个记录器stdout 、R等级都是error级/  对这个解释查看百度里的百科注释。
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  //记录器stdout输出到控制台
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  //记录器stdout输出的布局格式为自由布局。
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%r%n //记录器stdout输出格式和内容:“自己定义的类信息。。。”

log4j.appender.R=org.apache.log4j.RollingFileAppender  //记录器R输出到文件
log4j.appender.R.layout=org.apache.log4j.PatternLayout  //记录器R 输出的布局格式为自由布局
log4j.appender.R.File=d://logs//example.log //记录器R输出到文件的文件所在物理路径
log4j.appender.R.layout.ConversionPattern==%5p[%t](%F:%L) - %m%n //记录器R 输出格式和内容。。


log4j.logger.org.hibernate.cache=debug  //暂时不知道什么原因加进来,保留。

 

经过什么的log4j.properties文件配置,我们的调试或运行记录即在控制台里打印出来,也在指定的文件d://logs//example.log打印出来,这样调试很方便。

 

在具体的类里面如何用log4j扑获error信息呢?看这样用:

 

import java.util.Properties;

import java.util.*;

//.....加入其他java包

import org.appache.log4j.Logger //加入log4j包,必须已经在lib下

 

public class DefaultDbConnection {

private static Logger log= Logger.getLogger(DefaultDbConnection.class);  //记录该类的异常信息  1

 

//.....

 

public static void main(String[] args){

 

  try{

 int i=4/0;

}catch(Exception e){

  log.error(e.toString(), e);

 

}

}

}//这个是打印出除零溢出的错误记录,顺利记录成功,以后只要再每个类的开始,添加第 1 条,就可以在catch 扑获异常中使用

//log.error();

//log.warray();

//log.info();

......这些方法来记录异常。