Java程序員最常用的8個(gè)Java日志框架
作為一名Java程序員,我們開(kāi)發(fā)了很多Java應(yīng)用程序,包括桌面應(yīng)用、WEB應(yīng)用以及移動(dòng)應(yīng)用。然而日志系統(tǒng)是一個(gè)成熟Java應(yīng)用所必不可少的,在開(kāi)發(fā)和調(diào)試階段,日志可以幫助我們更好更快地定位bug;在運(yùn)行維護(hù)階段,日志系統(tǒng)又可以幫我們記錄大部分的異常信息,從而幫助我們更好的完善系統(tǒng)。本文要來(lái)分享一些Java程序員最常用的Java日志框架組件。
1、Log4j – 最受歡迎的Java日志組件Log4j是一款基于Java的開(kāi)源日志組件,Log4j功能非常強(qiáng)大,我們可以將日志信息輸出到控制臺(tái)、文件、用戶(hù)界面,也可以輸出到操作系統(tǒng)的事件記錄器和一些系統(tǒng)常駐進(jìn)程。更值得一提的是,Log4j可以允許你非常便捷地自定義日志格式和日志等級(jí),可以幫助開(kāi)發(fā)人員全方位地掌控日志信息。
官方網(wǎng)站:http://logging.apache.org/log4j/2.x/
下面是使用Log4j的一個(gè)簡(jiǎn)單例子:
package com.mai.test;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class Log4jTest {public static void main(String[] args) {Logger log = Logger.getLogger(Log4jTest.class);PropertyConfigurator.configure("src/log4j.properties");log.debug("yes,debug");log.info("yes,info");log.error("yes,error");log.warn("yes,warn");}} 2、gclogviewer – Java日志查看工具
gclogviewer是一個(gè)支持jdk 6的gc log可視化工具,和gcviewer相比,gclogviewer支持根據(jù)gc log生成GC的趨勢(shì)圖,也支持生成調(diào)優(yōu)建議所需的數(shù)據(jù)趨勢(shì)圖。
官方網(wǎng)站:http://code.google.com/p/gclogviewer/
3、SLF4J – 基于API的Java日志框架SLF4J提供了一個(gè)簡(jiǎn)單統(tǒng)一的日志記錄接口,開(kāi)發(fā)者在配置和部署時(shí)只需要實(shí)現(xiàn)這個(gè)接口即可實(shí)現(xiàn)日志功能。 Logging API實(shí)現(xiàn)既可以選擇直接實(shí)現(xiàn)SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通過(guò)SLF4J提供的API實(shí)現(xiàn)來(lái)開(kāi)發(fā)相應(yīng)的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
官方網(wǎng)站:http://www.slf4j.org/
4、Flume – Apache日志服務(wù)器之前介紹的都是一些日志記錄工具,F(xiàn)lume則是一個(gè)日志分析系統(tǒng),F(xiàn)lume是分布式的,它有一個(gè)非常靈活的架構(gòu),用來(lái)收集、聚合以及移動(dòng)大量日志數(shù)據(jù),并且提供可靠、容錯(cuò)的系統(tǒng)架構(gòu)。
官方網(wǎng)站:http://flume.apache.org/
5、zLogFabric – 日志存儲(chǔ)系統(tǒng)zLogFabric 是一個(gè)集成的跨平臺(tái)日志解決方案,通過(guò)消息系統(tǒng)收集各個(gè)應(yīng)用的日志信息存儲(chǔ)到一個(gè)集中式的系統(tǒng)中。模塊化的設(shè)計(jì)使得服務(wù)器可對(duì)日志進(jìn)行存儲(chǔ)、轉(zhuǎn)發(fā)、警報(bào)以及生成日志統(tǒng)計(jì)信息。
zLogFabric 可收集來(lái)自文件、syslog、log4j、log4net 以及 Windows 事件的數(shù)據(jù)。
官方網(wǎng)站:http://www.zlogfabric.com/
6、logstash – Java日志管理工具logstash是一款功能非常強(qiáng)大的日志管理工具,利用logstash,你可以對(duì)日志進(jìn)行傳輸、處理、管理和檢索,并且提供Web接口以便開(kāi)發(fā)者統(tǒng)計(jì)和查詢(xún)?nèi)罩拘畔ⅰ?/p>
官方網(wǎng)站:http://www.logstash.net/
7、Commons LoggingCommons Logging的實(shí)現(xiàn)不依賴(lài)于具體的日志實(shí)現(xiàn)工具,僅僅提供一些日志操作的抽象接口,它對(duì)其他的日志工具做了封裝,比如Log4J, Avalon LogKit, 和JDK 1.4等。
官方網(wǎng)站:http://commons.apache.org/proper/commons-logging/
8、Darks LogsDarks Logs和log4j類(lèi)似,也適用于Java、Android等項(xiàng)目,但是Darks Logs使用更加簡(jiǎn)單,而且對(duì)Android端做了非常大的改善。Darks Logs對(duì)Sqlite的日志保存增加了Appender。其旨在解決Android日志無(wú)法靈活控制日志等級(jí)、格式、保存或顯示目標(biāo)等常用操作等的問(wèn)題。
官方網(wǎng)站:https://github.com/liulhdarks/darks-logs
via:codeceo – 小峰
相關(guān)文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. Python 操作 MySQL數(shù)據(jù)庫(kù)3. Python數(shù)據(jù)相關(guān)系數(shù)矩陣和熱力圖輕松實(shí)現(xiàn)教程4. 開(kāi)發(fā)效率翻倍的Web API使用技巧5. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼8. 什么是Python變量作用域9. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式10. python 如何在 Matplotlib 中繪制垂直線(xiàn)
