經過一番努力,才知道怎麼用...,我資質真差~~。回到正題

JAVA本身裡面就有一個元件可以用Logger,你利用它就可以把錯誤訊息記錄下來,是個很方便的東西。

在開始之前要先注意到一件事,她一開始預設格式設定,都是參照你安裝的jre/lib/logging.properties這個檔,

但你又不可能去每個安裝你程式的人都去改這個檔,你會瘋掉,客戶也會瘋掉呀!因此你必須先自己去產生這個檔,然後

放到你程式目路底下,每次執行都去讀這個檔,這樣就不需去改jre/lib/logging.properties這個檔了。

先說程式:

 

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;


public class Start {
   
    private static Logger _log = Logger.getLogger(Start.class.getName());
   
    //LOG設定檔擺放位置
    private static final String LOG_PROP = "./config/log.properties";
   
    public static void main(String [] args){
        File floder = new File("log");
        floder.mkdir();
        try {
            InputStream is = new BufferedInputStream(new FileInputStream(
                    LOG_PROP));
            LogManager.getLogManager().readConfiguration(is);
            is.close();
        } catch (IOException e) {
            _log.log(Level.SEVERE, "讀取 " + LOG_PROP + " 檔案失敗.", e);
            System.exit(0);
        }
        _log.info("test");
    }
   
}

19.20:是預防沒有LOG資料夾,在新增資料夾LOG

13:是初始設定LOG

21~29:是設定全域LogManager,將他設定檔改成我的"./config/log.properties"

30:測試LOG用

 


 

LOG有分7個等級

  • SEVERE(最高值)
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST(最低值)

 


 

log.properties說明:

handlers:設定要使用哪些handlers,這會影響你是要輸出到螢幕或者檔案....
基本上常用的

  1. java.util.logging.FileHandler
  2. java.util.logging.ConsoleHandler
  3. java.util.logging.MemoryHandler
  4. java.util.logging.SocketHandler
  5. java.util.logging.StreamHandler

formatter:

  1. java.util.logging.XMLFormatter(存成XML格式)
  2. java.util.logging.SimpleFormatter(簡單的格式,就是像出錯Consol出現的訊息一樣)

 

程式範例下載

創作者介紹

狡兔三窟

eric1300460 發表在 痞客邦 PIXNET 留言(0) 人氣()