log4j

package log;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log {
    //Logger實例
    private Logger loger;
    //將Log類封裝成單實例的模式,獨立於其他類。以後要用到日誌的地方只要獲得Log的實例就可以方便使用
    private static Log log;
                         
    //構造函數,用於初始化Logger配置需要的屬性
    private Log() {
    //獲得當前目錄路徑
    String filePath = this.getClass().getResource("/").getPath().replaceAll("%20", " ");
    //找到log4j.properties配置文件所在的目錄(已經創建好)
    filePath = filePath.substring(1).replace("bin", "src");
    //獲得日誌類loger的實例
    loger = Logger.getLogger(this.getClass());
    //loger所需的配置文件路徑
    PropertyConfigurator.configure(filePath + "log4j.properties");
                         
    }
                         
    static Log getLoger() {
    if (log != null)
        return log;
    else
        return new Log();
    }
                         
    //測試函數
    public static void main(String args[]) {
    Log log = Log.getLoger();
    for (int i = 0; i < 100000; i++) {
        log.loger.info("測試日誌"+i);
    }
                         
    }
}

log4j.properties 文件放在src下面

#定義DEBUG優先級,R爲日誌輸出目的的 
log4j.rootLogger=DEBUG, R
#設置日誌輸出類型,爲文件類型
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#設置日誌文件名my.log
log4j.appender.R.file=logs/my.log
#設置日誌文件的大小
log4j.appender.R.MaxFileSize= 2KB
#設置每天生成一個日誌
org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.DatePattern = '_'yyyy-MM-dd'.log'
#每次在文件尾寫入新的日誌信息
log4j.appender.R.Append=true
#日誌輸出信息格式類型
log4j.appender.R.layout=org.apache.log4j.PatternLayout
#日誌輸出信息格式爲 換行、換行、日期、優先級、[類名]、日誌信息、換行
log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n


後再任何需要記錄日誌的地方只要使用下面語句就行了

Log log =Log.getLoger();

log.loger.info("123");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章