導航:首頁 > 版本升級 > slf4jlog4j版本對應

slf4jlog4j版本對應

發布時間:2023-03-22 21:15:07

『壹』 slf4j-api,slf4j-log4j12以及log4j之間什麼關系

有很碰橋多啊,有Log4j,LogBack,甚至JDK自帶的Logger都是slf4j的實現類。你如果要使基吵源用Log4j,那麼除了slf4j-api外還需要一個slf4j-log4j12(或slf4j-log4j13這個根據你的Log4j的版本來),你如果要使用JDK作為實現的話,那麼除了slf4j-api外,還需要slf4j-jdk14-1.5.10。依次類推。slf4j的作者就是Log4j的作者,他現在已經不推薦使用log4j了,推薦使用logback。
系統採用log4j作為日誌框架實現的調用關系:
首先系統包含slf4j-api作為日誌接入的介面;
at compile時slf4j-api中public final class LoggerFactor類中
private final static void bind() 方法會尋找具體的日誌實現類綁定,搏態主要通過
StaticLoggerBinder.getSingleton();語句調用
slf4j-log4j12:鏈接slf4j-api和log4j中間的適配器。它實現了slf4j-apiz中StaticLoggerBinder介面,從而使得在編譯時綁定的是slf4j-log4j12的getSingleton()方法
log4j:這個是具體的日誌系統。通過slf4j-log4j12初始化Log4j,達到最終日誌的輸出。

『貳』 slf4j-api,slf4j-log4j12以及log4j之間什麼關系

log4j是具體的日誌系統,實現日誌功能的,slf4j-log4j12是slf4j和神爛肆log4j的中間游轎適配器,slf4j-api類似是一個自定義的日誌介面集合,歷爛用戶可以通過slf4j-api自行實現不同的日誌類型,綁定不同的程序,而具體的日誌實現就看log4j了

『叄』 slf4j-api,slf4j-log4j12以及log4j之間什麼關系

slf4j.nop.jar是slf-api.jar其相應的介面實現, 把slf的介面對到log4j的實現 把slf的實現slf4j-nop-1.5.8.jar去掉,添加log4j的實現log4j-1.2.15.jar,再添加一個slf-api和log4j轉換器slf4j-log4j12-1.5.8.jar. 把slf的接行枯如口轉檔啟換成敗笑log4j的介面.最後添加一個log4j的配置文件log4j.properties (當然我所用的版本和你用的版本也許不一致)

『肆』 log4j和slf4j的使用

sfl4j是簡單日誌門面,而log4j是一個完整的日誌框架。一般在java開發的過程中,會將log4j和slf4j結合起來行森使用。

該文件放到工程的resource目錄下,且保證文件名是「log4j.properties」,不能做更改。具體配置可以參考如下進行配置

定義log對象

開始檔差畝輸出慶羨日誌

『伍』 LOG4J錯誤

你的log4j配置的是將日記信息 通過socket方式寫到 本地4445埠,而你本地沒有開啟一個socket伺服器來接收信息。
解決方法:
1.開啟本地socket:新建一個類:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Test
{
public static void main(String[] args)
{
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(4445);
} catch (IOException e1) {
e1.printStackTrace();
return;
}
while(true){
try {
Socket socket = serverSocket.accept();
System.out.println("一個客戶端連接上!");
//do some thing
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

2.如果沒有必要通過socket來記錄這個日誌信息,建議採用文件的方式,將配置文件改為:
log4j.rootLogger=DEBUG, SOCKET

log4j.appender.SOCKET=org.apache.log4j.FileAppender
log4j.appender.SOCKET.file="D:\\log.txt"
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout log4j.appender.SOCKET.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n

『陸』 log4j和slf4j的結合使用,請解釋每個符號的具體含義:%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.properties

# %m 輸出代碼中指定的消息
# %p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL
# %r 輸出自應用啟動到輸出該log信息耗費的毫秒數
# %c 輸出所屬的類目,通常就是所在類的全名
# %t 輸出產生該日誌事件的線程名
# %n 輸出一個回車換行符,Windows平台為「rn」,Unix平台為「n」
# %d 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921
# %l 輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

#日誌文件 每日
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=F:/mylog.txt
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#%時間 [%線程] %log級別 %完整類名 - %消息 %換行
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

『柒』 slf4j和log4j區別

Slf4j是日誌記和派跡錄的介面(只定義了一些方法沒有實現),就像commons-logging一樣。而log4j是具體實現羨顫(即如何列印日誌等。),和logback一樣。兩者都是兩套日誌的介面,slf4j.jar和log4j,都是按照通喚並用日誌的標准開發的。可以說是競爭關系。相對來說,log4j使用的相對更多。Hibernate使用slf4j記錄日誌,但是也有可能改變api,用log4j代替。很多人都這樣。

閱讀全文

與slf4jlog4j版本對應相關的資料

熱點內容
百米網是什麼網站 瀏覽:725
編程自學哪個語言 瀏覽:836
qt刪除文件內容 瀏覽:409
新編電腦基礎操作綜合應用教程 瀏覽:66
斗戰神元神升級順序 瀏覽:404
如何對華為文件夾命名 瀏覽:850
java比安卓工資低嗎 瀏覽:342
分析報告的兩個數據概要是什麼 瀏覽:71
榮耀6plus強制開機密碼 瀏覽:52
pgf文件復制到word文檔中 瀏覽:876
徐州數據中心有多少家 瀏覽:415
全能快刷下載到哪個文件 瀏覽:760
清理沒用的文件夾 瀏覽:490
蘋果手機錄音文件在哪怎麼傳電腦 瀏覽:720
微信文件助手傳視頻左面出現感嘆號 瀏覽:950
pr查詢站長工具 瀏覽:72
javasax生成xml 瀏覽:305
win10安裝爐石 瀏覽:95
使命召喚iphone 瀏覽:878
追光系統編程軟體是什麼 瀏覽:450

友情鏈接