Java 中自帶的日志系統,今天抽空了解了一點,算是入了門,所以將自己的一些心得記錄下來,以備日后查看,有興趣的朋友,看到此文章,覺得有錯誤或需要添加的地方,請在下方評論留言,大家可以共同進步,謝謝:)
Java中關於日志系統的API,在 java.util.logging 包中,在這個包中,Logger類很重要。
Logger類是用來記錄 某個級別的日志消息:
級別共分為以下幾類,從上倒下,級別依次下降:
SEVERE(嚴重)------級別最高
WARNING(警告)
INFO
CONFIG
FINE
FINER
FINEST------最低值
另外,還有一個級別 OFF,可以用來關閉日志;使用級別 ALL,啟用所有消息的日志記錄。(日志消息級別,可以查看 java.util.logging.Level類)
具體記錄日志的方法,查看此類的API文檔,在此就不詳述了。
Logger記錄的日志消息會被轉發到已注冊的Handler對象,handler對象可以將消息發送到:控制台,文件,網絡等等。
Handler類(抽象類):主要用於轉發日志消息
Hanlder類下有2個子類:MemoryHandler、StreamHandler。
StreamHandler下有3個子類:ConsoleHandler(將日志消息打印到控制台)、FileHandler(將日志消息輸出到文件)、SocketHandler(將日志發送到網絡中的某個主機)。具體詳情,查看API文檔。
Formatter類(抽象類):主要用於格式化日志記錄消息。
有2個子類:SimpleFormatter(純文本形式), XmlFormatter(XML形式)
下面一起來寫一個測試程序吧:
/**
* DateAndTime: 2016-12-8下午10:37:18
*/
package chapter07;
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;
/**
* @author Administrator
* 將日志記錄寫入到文件中
*
*/
public class TestLoggingToFile {
public static void main(String[] args) throws SecurityException, IOException {
//日志記錄器
Logger logger = Logger.getLogger("chapter07");
//日志處理器
FileHandler fileHandler = new FileHandler("d:\\test.txt");
//需要記錄的日志消息
LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");
//為處理器設置日志格式:Formatter
SimpleFormatter sf = new SimpleFormatter();
fileHandler.setFormatter(sf);
//注冊處理器
logger.addHandler(fileHandler);
//記錄日志消息
logger.log(lr);
}
}
當然,如果把 SimpleFormatter 改成 XmlFormatter,記錄的消息是xml形式,在此就不貼代碼了,各位看官可以自己試試,哈哈哈:)
以上就是,Java日志系統的簡單入門了,趕快拿起旁邊的鍵盤,敲着試試吧:)