經過一番努力,才知道怎麼用...,我資質真差~~。回到正題
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,這會影響你是要輸出到螢幕或者檔案....
基本上常用的
- java.util.logging.FileHandler
- java.util.logging.ConsoleHandler
- java.util.logging.MemoryHandler
- java.util.logging.SocketHandler
- java.util.logging.StreamHandler
formatter:
- java.util.logging.XMLFormatter(存成XML格式)
- java.util.logging.SimpleFormatter(簡單的格式,就是像出錯Consol出現的訊息一樣)
全站熱搜