Java之日志框架舉例詳解
日志技術(shù)
程序中的日志可以用來記錄程序運(yùn)行過程中的信息,并可以進(jìn)行永久存儲(chǔ)。
日志技術(shù)具備的優(yōu)勢(shì)
- 可以將系統(tǒng)執(zhí)行的信息選擇性的記錄到指定的位置(控制臺(tái)、文件中、數(shù)據(jù)庫中)。
- 可以隨時(shí)以開關(guān)的形式控制是否記錄日志,無需修改源代碼。
日志技術(shù)體系
日志規(guī)范接口【日志的實(shí)現(xiàn)框架設(shè)計(jì)的標(biāo)準(zhǔn)】
- Commons Logging簡稱JCL
- Simple Logging Facade for Java簡稱SLF4J
Commons Logging->SLF4J->Log4j->Logback(今天比較常用)
Logback日志框架
Logback是基于slf4j的日志規(guī)范實(shí)現(xiàn)的框架
Logback主要分為三個(gè)技術(shù)模塊:
- logback-core:logback-core 模塊為其他兩個(gè)模塊奠定了基礎(chǔ) ,相當(dāng)于入口,必須有。【基礎(chǔ)模塊】
- logback-classic:它是log4j的一個(gè)改良版本,核心功能模塊 , 同時(shí)它完整實(shí)現(xiàn)了slf4j API。
- logback-access 模塊與 Tomcat 和 Jetty 等 Servlet 容器集成,以提供 HTTP 訪問日志功能
Logback的應(yīng)用
使用java語言開發(fā)完成的程序,要給其他人使用,怎么辦呢?
- 把程序打包: xxxx.jar (jar文件是java文件壓縮包)
要使用第三方開發(fā)好的程序,怎么辦?
- 在自己的項(xiàng)目工程下,導(dǎo)入xxx.jar包
使用Logback的步驟:
- 導(dǎo)入Logback所需的相關(guān)jar文件,并添加到項(xiàng)目資源庫中
- 在項(xiàng)目工程下新建lib文件夾,把logback需要的jar文件存放到該文件夾下
- lib目錄下的存儲(chǔ)的jar文件,添加到當(dāng)前項(xiàng)目資源庫中【選中導(dǎo)入的三個(gè)資源右鍵點(diǎn)擊:Add as Library】
- 把logback核心配置文件logback.xml【Logback日志框架的核心】,拷貝到當(dāng)前項(xiàng)目的src目錄下
- 在類中獲取到Logger日志對(duì)象,使用日志對(duì)象中的API方法記錄需要的操作信息
public static final Logger LOGGER = LoggerFactory.getLogger("哪一個(gè)類的日志");
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;//注意不要導(dǎo)錯(cuò)包
public class LogbackDemo1 {
//獲取到一個(gè)Logger對(duì)象(使用日志對(duì)象記錄相關(guān)操作)
private static final Logger logger = (Logger) LoggerFactory.getLogger("LockbackDemo1類");
public static void main(String[] args) {
// System.out.println("進(jìn)入到main方法執(zhí)行程序...");
logger.info("進(jìn)入到main方法執(zhí)行程序...");
// System.out.println("調(diào)用show方法執(zhí)行");
logger.info("調(diào)用show方法執(zhí)行");
show();
}
public static void show(){
// System.out.println("show方法開始執(zhí)行了");
logger.info("show方法開始執(zhí)行了");
}
}
控制臺(tái)運(yùn)行結(jié)果:
2026-01-17 21:43:39.613 [INFO ] LockbackDemo1類 [main] : 進(jìn)入到main方法執(zhí)行程序...
2026-01-17 21:43:39.615 [INFO ] LockbackDemo1類 [main] : 調(diào)用show方法執(zhí)行
2026-01-17 21:43:39.615 [INFO ] LockbackDemo1類 [main] : show方法開始執(zhí)行了
上面的代碼不僅會(huì)在控制臺(tái)上輸出
還會(huì)在電腦的C盤中自動(dòng)創(chuàng)建一個(gè)文件夾,在文件夾中自動(dòng)創(chuàng)建一個(gè)文本文檔記錄程序的運(yùn)行結(jié)果如圖:


Logback使用細(xì)節(jié)
Logback日志框架的核心:logback.xml
- xml文件
Logback日志輸出位置、格式設(shè)置:
- 通過logback.xml 中的標(biāo)簽可以設(shè)置輸出位置和日志信息的詳細(xì)格式。
- 通??梢栽O(shè)置2個(gè)日志輸出位置:一個(gè)是控制臺(tái)、一個(gè)是系統(tǒng)文件中
輸出到控制臺(tái)的配置標(biāo)志【記住"CONSOLE"】
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
輸出到系統(tǒng)文件的配置標(biāo)志【記住"FILE"】
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
如果我們不想讓代碼輸出到控制臺(tái)或者文件中,我們可以將logback.xml對(duì)應(yīng)的輸出代碼給注釋掉就好了
Logback日志級(jí)別(從大到?。?/strong>
- error //錯(cuò)誤
- warn //警告
- info //信息
- debug //調(diào)試
- trace //追蹤(例:追蹤用戶行為軌跡)
作用:用于控制系統(tǒng)中哪些日志級(jí)別是可以輸出的,只輸出級(jí)別不低于設(shè)定級(jí)別的日志信息。
ALL 和 OFF分別是打開全部日志信息,及關(guān)閉全部日志信息。
<!--控制輸出日志的級(jí)別-->
<root level="ALL">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE" />
</root>
總結(jié)
到此這篇關(guān)于Java之日志框架的文章就介紹到這了,更多相關(guān)Java日志框架內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
win10 java(jdk安裝)環(huán)境變量配置和相關(guān)問題
這篇文章主要介紹了win10java(jdk安裝)環(huán)境變量配置和相關(guān)問題解決,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
SpringMVC?RESTFul及REST架構(gòu)風(fēng)格介紹
這篇文章主要為大家介紹了SpringMVC?RESTFul及REST架構(gòu)風(fēng)格介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
SpringBoot之logback-spring.xml不生效的解決方法
這篇文章主要介紹了SpringBoot之logback-spring.xml不生效的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01
解決Eclipse中java文件的圖標(biāo)變成空心J的問題
這篇文章主要介紹了解決Eclipse中java文件的圖標(biāo)變成空心J的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
Maven配置文件用法及說明(pom.xml和setting.xml)
Maven設(shè)置倉庫地址及常用命令,包括pom.xml和conf/settings.xml配置方式,mvn?clean、package、install、deploy命令詳解,以及profile、mirrors、servers配置說明2026-05-05

