在程序員的路上總想紀錄點什么!作為自己奮斗的一個經歷吧!
言歸正傳!
已經習慣了使用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!
"
);
????????}
????}
}
好了,祝您成功!第一次寫,有不好的地方望指點!不勝感激!