2013年10月30日 星期三

[Log4j] 簡易Log4j 設定

好用的 訊息紀錄工具 Log4j
簡易測試程式

package com.test;
import org.apache.log4j.Logger;

public class Log4jTest {
    public static void main(String[] args){
        Logger logger = Logger.getLogger("Log4jTest.class");
        logger.debug("Hello World!!!");
        logger.info("What a beautiful day!!");
    }
}

需要在 src 的目錄下生成一 Log4j.properties 說明
log4j.rootLogger=DEBUG, console, logfile

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %-5p %l - %m%n
log4j.appender.console.encoding=UTF-8

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{MM-dd HH:mm:ss} %-5p %l - %m%n
log4j.appender.logfile.File=c:/log.txt
log4j.appender.logfile.MaxFileSize=3MB
log4j.appender.logfile.MaxBackupIndex=5
log4j.appender.logfile.encoding=UTF-8

log4j.logger.org.apache.commons=INFO
log4j.logger.org.apache.jasper=INFO
log4j.logger.org.apache.catalina=INFO

PatternLayout(ConversionPattern) 的 格式字元列表如下:
# %c 輸出日誌訊息所屬的類別的全名
# %d 輸出日誌時間點的日期或時間,指定格式的方式:%d{yyy-MM-dd HH:mm:ss }。
# %l 輸出日誌事件的發生位置,即輸出日誌訊息的語句處於它所在的類別的第幾行。
# %m 輸出訊息,如log(message)中的message。
# %n 輸出一個列尾符號。
# %p 輸出優先階層,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推。
# %r 輸出自應用啟動到輸出該日誌訊息所耗費的毫秒數。
# %t 輸出產生該日誌事件的線程名。
# %r 輸出自應用啟動到輸出該日誌訊息所耗費的毫秒數。
# %f 輸出日誌訊息所屬的類別的類別名。
# %M 輸出日誌訊息所屬的類別的方法名。

若執行時發生以下錯誤訊息,則表示 Log4j.properties未設定 or 找不到
log4j:WARN No appenders could be found for logger (Log4jTest.class).
log4j:WARN Please initialize the log4j system properly.

若是採用 log4j.xml 的設定方式(web端搭配web.xml)在程式初始化過程中發生錯誤

Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener

例如設定了:
 請加上下面這一段
問題解答參考:http://emsooriyabandara.blogspot.tw/2013/05/exception-sending-context-initialized.html

 參考資料:
log4j訊息:WARN No appenders could be found for logger
[java] Log4j簡介與快速設定
[Java] log4j 的說明及實作
log4j.properties详解与例子
Log4j簡介

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...