Tang Anping

Love Java

Log4j的配置

在程序员的路上总想纪录点什么!作为自己奋斗的一个经历吧!
言归正传!
已经习惯了使用Log4j来做日志,就讲一下它的配置吧,其实很简单。
我一般用MyEclipse开发,可以从网站获得(http://www.myeclipseide.com)。
新建一个工程,然后把log4j.jar导入到工程目录下,然后把log4j.properties文件放到工程目录的src下,
最关键的还是配置文件的内容,下面是我经过整理的,与大家分享:
#日志分为业务日志和后台日志
log4j.properties

#创建了两个附加器,一个叫stdout,另一个叫rolling
#DEBUG (调试)、INFO (信息)、WARN (警示)、ERROR (错误)、FATAL (致命错误)
#日志有五种级别,可以修改第一个参数值,以控制在控制台输出的日志和写入文件的日志内容。
log4j.rootLogger
= WARN, stdout, rolling

#配置stdout附加器以便将消息输出到控制台
log4j.appender.stdout
= org.apache.log4j.ConsoleAppender

#配置stdout附加器以便使用PatternLayout
log4j.appender.stdout.layout
= org.apache.log4j.PatternLayout

#输出调用者的文件名和行号所用的模式,其中p表示消息级别,d表示时间,ABSOLUTE表示绝对时间
#HH:mm:ss SSS表示时分秒,
#(
% c.java: % M: % L)经典配置,可以显示完全类名、方法名和行数,在MyEclipse控制台点击可以找到源码当
#前类、当前方法和当前行,
" - " 后的文字是信息的表述。
#
% c为完整类名, % F为类名(Function), % M为方法名(Method), % L为行数(Line)。
log4j.appender.stdout.layout.ConversionPattern
= [ % 5p]  % d {ABSOLUTE}   -   % m % n ( % c.java: % M: % L) \n

#得到com.dao包下的DEBUG调试信息。
log4j.logger.com.dao
= DEBUG


#把rolling附加器配置为RollingFileAppender
log4j.appender.rolling
= org.apache.log4j.RollingFileAppender 

#Tomcat5.
5  中的日志保存在bin目录下,因为commons - logging.jar包在那个目录
#log4j.appender.rolling.File
= .. / webapps / TradeCRM / out.log


#配置rolling附加器所使用的输出文件名
#如果是单元测试日志,默认保存路径为工程目录下
log4j.appender.rolling.File
= output.log 

#配置rolling所使用的输出文件的最大容量
log4j.appender.rolling.MaxFileSize
= 100KB 

#为rolling附加器做一个备份文件
log4j.appender.rolling.MaxBackupIndex
= 1  

#配置rolling附加器所使用的布局模式和转换模式
log4j.appender.rolling.layout
= org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern
= [ % 5p]  % d ( % c.java: % M: % L)  -  \n % m % n



基本上是照上面的配置进行,如有更好的方式,欢迎联系我。E-Mail:tap2008@126.com

现在我们可以开始写一个测试类了:
FirstTest.java

package  com.test;

import  org.apache.log4j.Logger;

import  junit.framework.TestCase;

public   class  FirstTest  extends  TestCase  {
    
private   static   final  Logger log  =  Logger.getLogger(FirstTest. class );

    
/**
     * 继承父类的初始化方法
     
*/

    
public   void  setUp()  {

    }


    
/**
     * 继承父类的销毁方法
     
*/

    
public   void  tearDown()  {

    }


    
/**
     * 测试方法,必须以test开头
     
*/

    
public   void  testFirst()  {
        
/*
         * 避免参数构建的花费 
         * For some cat Category object, when you write,
         * cat.debug("This is entry number: " + i );
         * If you are worried about speed, then you should write
         
*/

        
if  (log.isInfoEnabled())  {
            log.info(
" Hello World! " );
        }

    }

}


好了,祝您成功!第一次写,有不好的地方望指点!不胜感激!

posted on 2006-11-23 09:30 Tang Anping 阅读(807) 评论(3)  编辑  收藏 所属分类: Log4j

评论

# re: Log4j的配置 2006-11-23 10:38 丰少爷

先顶了..~!!^_^  回复  更多评论   

# re: Log4j的配置 2006-11-23 16:58 一滴水

收下了  回复  更多评论   

# re: Log4j的配置 2006-12-07 21:13 ningzhisheng[匿名]

不错,顶一下!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问