在JDK
中提供了一個日志記錄包
java
util
logging
它可以對程序中的日志記錄進行相當復雜的控制
例如
通過它可以指定日志的級別和日志的位置(控制台
文件
套接字
內存緩沖區)
也可以創建子記錄器
通過它可以用程序控制的方式來指定想記錄的內容
也可以使用配置文件來指定
而不需要去改動程序
和Log
j相比
它更簡單更輕量級
在對日志輸出的要求不是很復雜時
它無疑是更好的選擇
首先我們獲得一個LogManager類的一個實例
LogManager lMgr = LogManager
getLogManager();
然後我們創建記錄器
並且把它添加到當前的管理器
String thisName =
Logpkg
;
Logger log = Logger
getLogger(thisName);
lMgr
addLogger(log);
如果我們沒有指定日志文件存放的位置
則按照jre/lib目錄下logging
properties文件中指定的內容
默認是ConsoleHandler意味著日志信息在控制台顯示
在程序中我們可以按照級別發布日志信息
共有
個級別
SERVER(最高值)
WARNING
INFO
CONFIG
FINE
FINER
FINEST(最低值)
和OFF(不記錄)
log
server(
error
);
我們可以設置記錄器的記錄級別
以忽略低於WARNING級別的消息
只有用server和warning記錄的信息才能輸出
log
setLevel(Level
WARNING);
(
This message is info
);//這條信息會被忽略
不會被輸出
log
warning(
This message is warning
);//這條信息會輸出
Logger的名字可以是簡單的文字
也可以是逗號分隔的復合名字
一個逗號左邊名字相同但是逗號右邊具有附加名字的記錄器是原型記錄器的子記錄器
例如一個叫Logpkg的記錄器和一個叫Logpkg
Test
的記錄器
記錄器和它的子記錄器可以是不同的級別
在整個程序中可以只記錄SERVER信息
對於一個可疑的部分
則可以記錄其他更多的事件
如果想要同時把日志輸出到文件和控制台
可以創建一個FileHandler並把它添加到記錄器
fh = new FileHandler(
runtime
log
);
log
addHandler(fh);
如果沒有特別指定
文件格式默認的是XML
通過配置文件來控制日志記錄
FileInputStream fi = new FileInputStream(new File(logging
properties));
lMgr
readConfiguration(fi);
這樣做的好處是不需要改變或重新編譯程序
就可以改變日志記錄的狀態
配置文件的格式
handlers = java
util
logging
FileHandler
java
util
logging
ConsoleHandler
Level = INFO
java
util
logging
ConsoleHandler
pattern = runtime
log
java
util
logging
ConsoleHandler
limit =
java
util
logginunt =
java
util
logging
ConsoleHandler
formatter = java
util
logging
XMLFormatter
java
util
logging
ConsoleHandler
level = WARNING
java
util
logging
ConsoleHandler
formatter = java
util
logging
SimpleFormatter
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25317.html