JUL 為Java util loging 的縮寫
其中的代碼也主要位于該包之下
JUL主要劃分為幾個部分
LogMannager: 我們需要通過該類來加載配置檔案中的配置
Logger 代碼中擁戴的日志記錄器
Handler/appenders 日志控制器
Layouts/Formatters 格式化
Filter 是一個函數式程式設計接口 傳回true 表示通過
Level 日志級别 枚舉 包括
SEVERE WARNING INFO CONFIG FINE FINER FINEST
ErrorManager 為handler提供的一個異常處理器
LogRecord 包裝的日志記錄
配置檔案配置
# JUL 日志配置
####
#### 注意設定 日志級别時 需要同時設定 logger 與handler 的日志級别
####
################### 設定logger
## RootLogger處理器(名稱為"")
#handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# RootLogger日志等級
#.level= INFO
#自定義logger
com.gavin2.handlers=java.util.logging.FileHandler
com.gavin2.level=CONFIG
# 如果不設定會繼承父LOGGER的
#關閉預設配置
com.gavin2.useParentHandlers=false
## TestLog日志處理器
TestLog.handlers= java.util.logging.FileHandler
# TestLog日志等級
TestLog.level= ALL
# 忽略父日志處理
TestLog.useParentHandlers=false
################### 設定handler
## 控制台處理器
# 輸出日志級别
java.util.logging.ConsoleHandler.level = INFO
# 輸出日志格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
## 檔案處理器
# 輸出日志級别a
java.util.logging.FileHandler.level=CONFIG
# 輸出日志格式
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
# 輸出日志檔案路徑
java.util.logging.FileHandler.pattern = H:\\log\\testLog.log
# 輸出日志檔案限制大小(50000位元組)
java.util.logging.FileHandler.limit = 5000
# 輸出日志檔案限制個數
java.util.logging.FileHandler.count = 10
# 輸出日志檔案 是否是追加
java.util.logging.FileHandler.append=true
程式中的使用
@Test
public void slfLogTest() throws IOException {
//LogMannager 讀取并加載配置資訊(加載一次即可)
LogManager logManager = LogManager.getLogManager();
InputStream in = JULtestLog.class.getClassLoader().getResourceAsStream("log.properties");
logManager.readConfiguration(in);
//擷取logger對象
Logger logger = Logger.getLogger("com.gavin2");
//記錄日志
logger.warning("com.gavin2:warning");
logger.info("com.gavin2:info");
logger.config("com.gavin2:config");
}