作為一名Java程序員,我們開發了很多Java應用程序,包括桌面應用、WEB應用以及移動應用。然而日志系統是一個成熟Java應用所必不可少的。
在開發和調試階段,日志可以幫助我們更好更快地定位bug;
在運行維護階段,日志系統又可以幫我們記錄大部分的異常信息,從而幫助我們更好的完善系統。
本文要來分享給大家Java程序員最常用的Java日志框架組件。
在項目開發過程中,我們可以通過 debug 查找問題。而在線上環境我們查找問題只能通過打印日志的方式查找問題。因此對于一個項目而言,日志記錄是一個非常重要的問題。
如何選擇一個合適的日志記錄框架?
在Java開發中,常用的日志框架有JUL、Log4j、Logback、Log4j2、JCL、SLF4j各有各的特點,各有各的應用場景。
了解這些框架的特點及應用場景,有利于我們做技術選型的時候做出正確的判斷。
市面流行的日志框架
記錄型日志框架
- Jul (Java Util Logging):JDK中的日志記錄工具,也常稱為JDKLog、jdk-logging,自Java1.4以來的官方日志實現。
- Log4j:Apache Log4j是一個基于Java的日志記錄工具。它是由Ceki Gülcü首創的,現在則是Apache軟件基金會的一個項目。 Log4j是幾種Java日志框架之一。
- Log4j2:一個具體的日志實現框架,是Log4j 1的下一個版本,與Log4j 1發生了很大的變化,Log4j 2不兼容Log4j 1。
- Logback:一個具體的日志實現框架,和Slf4j是同一個作者,業界中稱作log4j后浪,一個可靠、通用且靈活的java日志框架。
門面型日志框架
- JCL:Apache基金會所屬的項目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名為Commons Logging
- SLF4J:是一套簡易Java日志門面,本身并無日志的實現。(Simple Logging Facade for Java,縮寫Slf4j)
總的來說,只要程序員投身到實際的工作環境中,就會對日志的重要性有著充分的認知,尤其是對于Web以及大型的項目應用。
對于新手來說,了解日志的功能,養成好的編程習慣也十分有必要。
如果你之前忽略了日志,沒關系,今天咱們開始一起補上,為大家帶來了最新最全的日志框教程全集。
這么多日志框架,給人一種很混亂的感覺,那么本課程將對這些日志框架進行全面系統梳理,采用項目案例驅動的方式詳細講解了以上幾種日志組件,知識點采用由淺入深、層層遞進的方式講解,讓大家在輕松愉快的氛圍中完成學習,更加詳細且真實的體會日志為我們在開發和生產環境當中所帶來的好處。
適應人群
至少學習完了JavaSE,Java Web課程或者已經工作的同學。
沒有基礎的同學也不要著急,這套教程覆蓋了目前所有的日志框架,只要你學Java,就一定用得到,先收藏,以備不時之需。
Java日志框架在線學習
???https://www.bilibili.com/video/BV1Mb4y1Z74W??
Java日志框架資料下載
???????http://www.bjpowernode.com/?51cto??
課程目錄
??001.日志概述
?002.日志文件分類
?003.日志框架作用和價值
?004.市面流行的日志框架
?005.日志門面和日志框架的區別
?006.JUL簡介及組件介紹
?007.JUL組件詳細介紹
?008.JUL入門案例
?009.JUL打印日志信息動態傳遞數據
?010.JUL日志級別說明
?011.JUL默認日志級別展示
?012.JUL默認級別源碼查詢
?013.JUL自定義日志級別
?014.JUL文件中日志的打印
?015.JUL同時添加多個處理器
?016.JULLogger的父子關系
?017.JULLogger父子關系的作用2
?018.JUL節點關系源碼查看
?019.JUL默認配置文件位置
?020.JUL配置文件解析
?021.JUL使用自定義配置文件
?022.JUL自定義配置文件中的文件輸出
?023.JUL追加日志信息
?024.JUL框架操作流程總結
?025.Log4j簡介
?026.Log4j組件介紹
?027.Log4j日志記錄器說明
?028.Log4j日志級別說明
?029.Log4j日志輸出方式說明
?030.Log4j輸出格式化說明
?031.Log4j入門案例
?032.Log4j加載初始化信息簡單解析
?033.Log4j日志級別詳解
?034.Log4j日志級別輸出測試
?035.Log4j日志管理器查看
?036.Log4j配置文件的加載時機
?037.Log4j輸出方式和輸出格式的配置
?038.Log4j根節點Logger的配置
?039.Log4j日志輸出詳細信息開關
?040.Log4j自定義格式介紹
?041.Log4j自定義格式詳解
?042.Log4j將日志輸出到文件中的配置
?043.Log4j指定文件輸出位置及字符編碼設置
?044.Log4j按照文件大小進行拆分1
?045.Log4j按照文件大小進行拆分2
?046.Log4j按照時間進行日志拆分
?047.Log4j日志持久化表結構創建
?048.Log4j日志持久化相關配置
?049.Log4j日志持久化實現
?050.Log4j自定義Logger的配置
?051.Log4j自定義Logger和根節點同時配置時的問題
?052.Log4j自定義logger應用場景
?053.Log4j自定義logger補充
?054.JCL簡介
?055.JCL帶給我們的好處
?056.JCL入門案例
?057.JCL集成Log4j的日志輸出
?058.JCL源碼使用日志框架源碼查看
?059.JCL如何幫我們加載Logger對象
?060.日志門面簡介
?061.SLF4JSLF4J簡介
?062.SLF4J入門案例slf4j-simple
?063.SLF4J動態打印信息功能實現
?064.SLF4J打印異常信息
?065.SLF4JSLF4J與日志集成的分類
?066.SLF4J同時集成多個日志實現的結果分析
?067.SLF4J集成logback
?068.SLF4J使用slf4j-nop禁止日志打印
?069.SLF4J集成log4j的方式
?070.SLF4J集成適配器做log4j日志打印
?071.SLF4J集成JDK14適配器做JUL日志輸出
?072.SLF4J集成多個日志實現出現警告信息分析1
?073.SLF4J集成多個日志實現出現警告信心分析2
?074.SLF4J集成多個日志實現出現警告信心分析3
?075.SLF4J日志重構需求
?076.SLF4J日志重構解決方案
?077.SLF4J日志重構實現
?078.SLF4J橋接后Logger的取得方式
?079.LogbackLogback簡介
?080.Logback搭建Logback環境
?081.LogbackLogback入門案例
?082.Logback配置文件通用屬性介紹
?083.Logback配置控制臺appender
?084.Logback配置rootlogger
?085.Logback在文件中錄入日志
?086.LogbackHTML格式日志記錄
?087.Logback日志拆分1
?088.Logback日志拆分2
?089.Logback通過過濾器做更細粒度的日志打印
?090.Logback為什么使用異步日志
?091.Logback異步日志功能實現
?092.Logback自定義logger
?093.Logback配置文件轉換
?094.Log4j2Log4j2簡介
?095.Log4j2Log4j2日志環境搭建
?096.Log4j2Log4j2默認配置日志打印
?097.Log4j2Log4j2配置文件基礎標簽
?098.Log4j2配置文件根標簽的屬性配置
?099.Log4j2slf4j與log4j2搭配使用方式
?100.Log4j2日志文件輸出
?101.Log4j2日志文件拆分1
?102.Log4j2日志文件拆分2
?103.Log4j2Log4j2中的異步日志
?104.Log4j2AsyncAppender形式做異步日志
?105.Log4j2AsyncLogger做全局異步日志
?106.Log4j2AsyncLogger混合異步日志配置
?107.Log4j2AsyncLogger混合異步日志實現
?108.Springboot日志實現概述
?109.Springboot日志實現日志依賴關系
?110.Springboot日志實現日志級別打印
?111.Springboot日志實現測試log4j2橋接器
?112.Springboot日志實現使用核心配置文件配置日志信息
?113.Springboot日志實現配置文件輸出
?114.Springboot日志實現導入logback配置文件
?115.Springboot日志實現使用logback配置實現日志拆分
?116.Springboot日志實現集成log4j2?
?