本文介紹了Slf4j是如何工作的?未創(chuàng)建任何日志的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我用Java 1.6編寫(xiě)了以下代碼:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static Logger log = LoggerFactory.getLogger(myfile.class);
現(xiàn)在,我將slf4j-api-1.6.4.jar&;slf4j-Simple-1.6.4.jar放在類路徑中,代碼編譯得很好,但它將所有信息記錄在哪里?
我有l(wèi)og.info(“test”);但它沒(méi)有創(chuàng)建任何日志文件。我嘗試使用以下內(nèi)容創(chuàng)建log4j.Properties:
log4j.appender.stdout=org.apache.log4j.RollingFileAppender
log4j.appender.stdout.File=/var/abc.log
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}]%6p %c{1}:%L - %m%n
log4j.appender.stdout.MaxFileSize=50000KB
log4j.appender.stdout.MaxBackupIndex=200
log4j.rootLogger=info, stdout
但它不工作,我知道上面的文件是log4j所必需的,但slf4j是如何工作的?我是否需要?jiǎng)?chuàng)建任何類似于log4j的屬性文件??如果是,我需要把它放在哪里?
謝謝!
推薦答案
SLF4J只是一個(gè)門面,讓您可以輕松切換不同的日志框架。所有使用SLF4J API的日志調(diào)用都將委托給底層的日志框架。
您不必為SLF4J創(chuàng)建任何屬性文件。您所需要做的就是使用與您的日志框架匹配的正確”SLF4J綁定”JAR,以便將SLF4J API的所有日志調(diào)用委托給底層日志框架。下圖顯示了SLF4J、”SLF4J綁定”和底層日志記錄框架之間的關(guān)系
slf4j-simple-1.6.4.jar
將所有事件委托給System.err,但不委托給log4j API。因此,您應(yīng)該改用slf4j-log4j12-1.6.4.jar
。
總而言之,您應(yīng)該使用以下JAR:
slf4j-api-1.6.4.jar
slf4j-log4j12-1.6.4.jar
log4j-1.2.16.jar
參考資料
SLF4J user manual
這篇關(guān)于Slf4j是如何工作的?未創(chuàng)建任何日志的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,