日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单介绍日志的发展历史

發(fā)布時間:2024/4/13 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单介绍日志的发展历史 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最早的日志組件是Apache基金會提供的Log4j,log4j能夠通過配置文件輕松的實現(xiàn)日志系統(tǒng)的管理和多樣化配置,所以很快被廣泛運用。也是我們接觸得比較早和比較多的日志組件。它幾乎成了Java社區(qū)的日志標準。?

據(jù)說Apache基金會還曾經建議Sun引入Log4j到java的標準庫中,但Sun拒絕了。 所以sun公司在java1.4版本中,增加了日志庫(Java Util Logging)。其實現(xiàn)基本模仿了Log4j的實現(xiàn)。在JUL出來以前,Log4j就已經成為一項成熟的技術,使得Log4j在選擇上占據(jù)了一定的優(yōu)勢?

Apache推出的JUL后,有一些項目使用JUL,也有一些項目使用log4j,這樣就造成了開發(fā)者的混亂,因為這兩個日志組件沒有關聯(lián),所以要想實現(xiàn)統(tǒng)一管理或者替換就非常困難。怎么辦呢??

這個狀況交給你來想想辦法,你該如何解決呢?進行抽象,抽象出一個接口層,對每個日志實現(xiàn)都適配,這樣這些提供給別人的庫都直接使用抽象層即可這個時候又輪到Apache出手了,它推出了一個Apache Commons Logging組件,JCL只是定義了一套日志接口(其內部也提供一個Simple Log的簡單實現(xiàn)),支持運行時動態(tài)加載日志組件的實現(xiàn),也就是說,在你應用代碼里,只需調用Commons Logging的接口,底層實現(xiàn)可以是Log4j,也可以是Java Util Logging?

由于它很出色的完成了主流日志的兼容,所以基本上在后面很長一段時間,是無敵的存在。連spring也都是依賴JCL進行日志管理?

但是故事并沒有結束原Log4J的作者,它覺得Apache Commons Logging不夠優(yōu)秀,所以他想搞一套更優(yōu)雅的方案,于是slf4j日志體系誕生了,slf4j實際上就是一個日志門面接口,它的作用類似于Commons Loggins。 并且他還為slf4j提供了一個日志的實現(xiàn)-logback。?

因此大家可以發(fā)現(xiàn)Java的日志領域被劃分為兩個大營:Commons Logging 和 slf4j?

另外,還有一個log4j2是怎么回事呢? 因為slf4j以及它的實現(xiàn)logback出來以后,很快就趕超了原本apache的log4j體系,所以apache在2012年重寫了log4j, 成立了新的項目Log4j2?

總的來說,日志的整個體系分為日志框架和日志系統(tǒng)?

日志框架:JCL/ Slf4j?

日志系統(tǒng):Log4j、Log4j2、Logback、JUL。?

而在我們現(xiàn)在的應用中,絕大部分都是使用slf4j作為門面,然后搭配logback或者log4j2日志系統(tǒng)?

?

總結

以上是生活随笔為你收集整理的简单介绍日志的发展历史的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。