My Think

我決定的路,我將走下去

2013年8月31日 星期六

【JAVA】log4j設定

log4j.properties檔存放在/webapps/專案/WEB-INF/classes
log4j-version.jar存放於/webapps/專案/WEB-INF/lib

階層

log4j有分為5個階層,
DEBUG、INFO、WARN、ERROR、FATAL
如果將log4j.rootLogger=Info, A1, A2的INFO設定成WARN,
則只會輸出大於等於WARN等級的資訊,另外,還有兩個特殊的等級為OFF和ALL,
ALL表示所有訊息格式皆會輸出且等級最低,OFF則是表示所有訊息皆不輸出且等級最高



輸出格式

%m輸出訊息
%p輸出所設定的層級,如設定是INFO則會顯示INFO
%r 輸出自應用啟動到輸出該日誌訊息所耗費的毫秒數
%c輸出所屬的類別名稱,例如:類別名稱為“ABC”,%C{2}將輸出“BC”。{2}的意思是“輸出最後兩個組件”。如果沒有{n}則完整的類別名稱是以defalut輸出。
%t 輸出產生該日誌事件的運作名稱。
%n 輸出一個換行符號,例:\n或\r\n
%% 輸出一個百分比符號
%d 輸出日誌時間點的日期或時間,指定格式的方式:%d{yyy-MM-dd HH:mm:ss }
%l出原始碼的位置資訊 Shortcut for %C.%M(%F:%L).
%C  Outputs the fully-qualified class name of the caller issuing the  logging request.
%MOutputs the method name where the logging request was issued.
%FOutputs the file name where the logging request was issued.
%LOutputs the line number from where the logging request was issued.

撰寫設定檔

參考來源
--------------------------------------------------------------------------------------------------------------------------------------------------------

log4j.rootLogger=INFO,console,file

#output on console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}][censv1][%p] - %m%n#output on file
log4j.logger.Test=DEBUG,T1
log4j.appender.T1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.T1.file=/local/tomcat/logs/test.log
log4j.appender.T1.DatePattern='.'yyyy-MM-dd
log4j.appender.T1.layout=org.apache.log4j.PatternLayout
log4j.appender.T1.layout.ConversionPattern = [%d{yyyy/MM/dd HH:mm:ss}, %p] (%c{1}) : %m%n

--------------------------------------------------------------------------------------------------------------------------------------------------------
DailyRollingFileAppender為每日產生一個log檔
Test為Class檔的檔名,test為產生的log檔檔名

沒有留言:

張貼留言