JUL日志快速入门
JUL 學習
JUL全稱Java util Logging是java原生的日志框架,使用時不需要另外引用第三方類庫,相對其他日志框架使用方便,學習簡單,能夠在小型應用中靈活使用。
JUL入門
架構介紹
Loggers:被稱為記錄器,應用程序通過獲取Logger對象,調用其API來來發布日志信息。Logger通常時應用程序訪問日志系統的入口程序。
Appenders:也被稱為Handlers,每個Logger都會關聯一組Handlers,Logger會將日志交給關聯Handlers處理,由Handlers負責將日志做記錄。Handlers在此是一個抽象,其具體的實現決定了日志記錄的位置可以是控制臺、文件、網絡上的其他日志服務或操作系統日志等。
Layouts:也被稱為Formatters,它負責對日志事件中的數據進行轉換和格式化。Layouts決定了數據在一條日志記錄中的最終形式。
Level:每條日志消息都有一個關聯的日志級別。該級別粗略指導了日志消息的重要性和緊迫,我可以將Level和Loggers,Appenders做關聯以便于我們過濾消息。
Filters:過濾器,根據需要定制哪些信息會被記錄,哪些信息會被放過。
總結一下就是:
用戶使用Logger來進行日志記錄,Logger持有若干個Handler,日志的輸出操作是由Handler完成的。在Handler在輸出日志前,會經過Filter的過濾,判斷哪些日志級別過濾放行哪些攔截,Handler會將日志內容輸出到指定位置(日志文件、控制臺等)。Handler在輸出日志時會使用Layout,將輸出內容進行排版。
入門案例
package com.leon;import org.junit.Test;import java.util.logging.*;public class JULTest {// 快速入門@Testpublic void testQuick()throws Exception{// 1.獲取日志記錄器對象Logger logger = Logger.getLogger("com.leon.JULTest");// 2.日志記錄輸出logger.info("hello jul");// 通用方法進行日志記錄logger.log(Level.INFO,"info msg");// 通過占位符 方式輸出變量值String name = "leon";Integer age = 13;logger.log(Level.INFO,"用戶信息:{0},{1}",new Object[]{name,age});} }?
總結