004-SLF4J的简单使用
1. SLF4J介紹
1.1. SLF4J(Simple Logging Facade for Java)簡(jiǎn)單的java日志門面, 它是各種日志框架的抽象服務(wù)(例如: logback, log4j, java.util.logging), 它允許使用者以插件的形式設(shè)計(jì)自己的日志框架。
2. SLF4J官網(wǎng)
2.1. 地址: https://www.slf4j.org/index.html
3. 下載SLF4J
3.1. 點(diǎn)擊Download
3.2. 點(diǎn)擊Maven central
3.3. 點(diǎn)擊slf4j-api
3.4. 點(diǎn)擊最新的1.7.30
3.5. 3.5. 點(diǎn)擊下載slf4j-api-1.7.30.jar和它的源碼包slf4j-api-1.7.30-sources.jar
4. 在部署時(shí)綁定一個(gè)日志框架
4.1. 如前所述, SLF4J支持各種各樣的日志框架。SLF4J的發(fā)行版附帶的幾個(gè)jar被稱為"SLF4J bindings", 每個(gè)綁定都對(duì)應(yīng)一個(gè)受支持的框架。
4.2. slf4j-log4j12-1.7.19.jar: 綁定log4j 1.2版本, log4j是一個(gè)廣泛使用的日志框架。你也需要將在log4j.jar放置到class path上。
4.3. slf4j-jdk14-1.7.19.jar: java.util.logging的綁定, 也被稱為JDK 1.4日志。
4.4. slf4j-nop-1.7.19.jar: 綁定為NOP, 靜默丟棄所有日志記錄。
4.5. slf4j-simple-1.7.19.jar: 進(jìn)行簡(jiǎn)單的實(shí)現(xiàn)綁定, 該實(shí)現(xiàn)將所有事件輸出到System.err。僅打印INFO和更高級(jí)別的消息。在小型應(yīng)用程序的上下文中非常有用。
4.6. logback-classic-1.0.13.jar(依賴logback-core-1.0.13.jar): SLF4J項(xiàng)目之外也有SLF4J綁定, 比如: logback完整的實(shí)現(xiàn)了SLF4J接口。因此, 將SLF4J和logback一起使用涉及到嚴(yán)格零內(nèi)存計(jì)算開銷。
4.7. 要進(jìn)行日志框架切換, 只需要替換class path中的slf4j綁定即可。比如說, 從java.util.logging切換到log4j, 僅僅把slf4j-jdk14-1.7.19.jar替換成slf4j-log4j12-1.7.19.jar。
4.8. SLF4J不依賴任何特殊類的裝載機(jī)。實(shí)際上, 每個(gè)SLF4J綁定在編譯時(shí)都 進(jìn)行了硬連線, 以使用一個(gè)且僅一個(gè)特定的日志記錄框架。例如, slf4j-log4j12-1.7.28.jar綁定在編譯時(shí)綁定為使用log4j。在您的代碼中, 除了slf4j-api-1.7.28.jar之外, 只能有一個(gè)你選擇的綁定到正確的class path路徑上, 不要在class path放置多個(gè)綁定。
4.9. SLF4J日志系統(tǒng)調(diào)用流程圖
5. 例子
5.1. 新建一個(gè)名為SLf4j的Java項(xiàng)目, 同時(shí)添加jar
5.2. 編寫HelloWorld.java
package com.rjbd.slf4jrm;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class HelloWorld {public static void main(String[] args) {Logger logger = LoggerFactory.getLogger(HelloWorld.class);logger.info("Hello World");} }5.3. 運(yùn)行項(xiàng)目, 控制臺(tái)報(bào)錯(cuò), 其實(shí)就是沒有slf4j的具體實(shí)現(xiàn)
5.4. 添加slf4j-simple-1.7.30.jar
5.5. 運(yùn)行項(xiàng)目
總結(jié)
以上是生活随笔為你收集整理的004-SLF4J的简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 002_Java日志
- 下一篇: 001-SDK框架之Unity游戏调用S