日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

slf4j 和 log4基础入门(Maven配置)

發(fā)布時(shí)間:2025/5/22 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 slf4j 和 log4基础入门(Maven配置) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

? ? 我們將從四個(gè)問題出發(fā)。

? ? 第一,log4j是什么?

? ? log4j是一個(gè)日志系統(tǒng),是Apache的一個(gè)開放源代碼項(xiàng)目。當(dāng)然Java日志系統(tǒng)比較豐富,其他常用的日志系統(tǒng)還有java.util.logging、JUL、logback等等。

? ? 第二,slf4j又是什么?

? ? slf4j(Simple logging facade for Java),即簡單日志門面。它不同于上面所說的各種日志系統(tǒng),不是真正的日志實(shí)現(xiàn),不是具體的日志解決方案。而是一個(gè)抽象層,它允許你在后臺使用任意一個(gè)日志系統(tǒng)(例如log4j)。即slf4j是一個(gè)具體日志系統(tǒng)的封裝,對外提供統(tǒng)一的API,但其本身并不提供日志實(shí)現(xiàn)。

? ? 第三,既然已經(jīng)有各種日志系統(tǒng)了,為什么還要使用slf4j?

? ? 問題就是現(xiàn)在有了各種日志系統(tǒng),因此每個(gè)類庫使用的日志系統(tǒng)都可能不一樣。但lf4j允許你在后臺使用任意一個(gè)日志系統(tǒng)(例如log4j),即使得你的程序獨(dú)立于任意特定的日志系統(tǒng)。例如,你的一個(gè)項(xiàng)目已經(jīng)使用了log4j,而你加載了一個(gè)類庫,比方說 Apache Active MQ——它依賴于另外一個(gè)日志類庫logback,那么你就需要把它也加載進(jìn)去。但如果Apache Active MQ使用了slf4j,你就可以繼續(xù)使用你的日志系統(tǒng)而無需加載和維護(hù)一個(gè)新的日志框架。

? ? 第四,果真如此好用,那怎么使用?

? ? 首先,準(zhǔn)備相應(yīng)的包。

? ? 1.slf4j-api-x.x.x.jar 它提供對外一致的API接口,其本身不提供日志實(shí)現(xiàn)。
? ? 2.這里選擇log4j作為我們的日志實(shí)現(xiàn),則需要下載?log4j-x.x.x.jar。
? ? 3.如果想把slf4j綁定log4j,則需要下載slf4j對log4j的相應(yīng)”驅(qū)動”?slf4j-log4j12-x.x.x.jar。


????這樣就可以使用slf4j提供的API,用log4j實(shí)現(xiàn)打印日志了。具體在Maven porn.xml 文件中添加的dependency如下:

<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.6.6</version> </dependency>

? ? 然后,添加配置文件。log4j支持兩種配置文件格式,一種是XML格式的文件,一種是properties格式的文件。我們這里采用properties格式的方法。

在項(xiàng)目中添加log4j.properties文件,如下圖:

具體配置如下:

# config root logger # [level] 是日志輸出級別 log4j.rootLogger = INFO,system.out # Appender 為日志輸出目的地 log4j.appender.system.out=org.apache.log4j.ConsoleAppender log4j.appender.system.out.layout=org.apache.log4j.PatternLayout log4j.appender.system.out.layout.ConversionPattern=Server Logger --> %5p{%F:%L} = %m%n# config this Project.file logger log4j.logger.thisProject.file=INFO,thisProject.file.out # 每天產(chǎn)生一個(gè)日志文件 log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender log4j.appender.thisProject.file.out.File=logContentFile.log log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout

? ? 最后,在代碼中使用日志系統(tǒng)。示例代碼如下:

import org.apache.log4j.PropertyConfigurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class App {// 通過指定的名字獲得日志對象public static final Logger log = LoggerFactory.getLogger(App.class);public static void main(String[] args) {// 通過資源類對log4j.properties文件進(jìn)行加載PropertyConfigurator.configure("D:\\Workspace\\man\\src\\log4j.properties");log.info("Hello,World!");} }

使用效果:

至此成功打印輸出了日志。

? ? 通過此篇文章,我們簡單了解slf4j和log4j的背景。在此基礎(chǔ)通過一個(gè)簡單的例子,實(shí)現(xiàn)了slf4j和log4j的配置使用。其中省略了很多細(xì)節(jié),待下次深入研究后再另起一篇博文詳細(xì)介紹吧。

轉(zhuǎn)載于:https://my.oschina.net/greatqing/blog/710836

總結(jié)

以上是生活随笔為你收集整理的slf4j 和 log4基础入门(Maven配置)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。