Java程序員最常用的8個Java日志框架
作為一名Java程序員,我們開發(fā)了很多Java應用程序,包括桌面應用、WEB應用以及移動應用。然而日志系統(tǒng)是一個成熟Java應用所必不可少的,在開發(fā)和調試階段,日志可以幫助我們更好更快地定位bug;在運行維護階段,日志系統(tǒng)又可以幫我們記錄大部分的異常信息,從而幫助我們更好的完善系統(tǒng)。本文要來分享一些Java程序員最常用的Java日志框架組件。
1、Log4j – 最受歡迎的Java日志組件Log4j是一款基于Java的開源日志組件,Log4j功能非常強大,我們可以將日志信息輸出到控制臺、文件、用戶界面,也可以輸出到操作系統(tǒng)的事件記錄器和一些系統(tǒng)常駐進程。更值得一提的是,Log4j可以允許你非常便捷地自定義日志格式和日志等級,可以幫助開發(fā)人員全方位地掌控日志信息。
官方網站:http://logging.apache.org/log4j/2.x/
下面是使用Log4j的一個簡單例子:
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是一個支持jdk 6的gc log可視化工具,和gcviewer相比,gclogviewer支持根據gc log生成GC的趨勢圖,也支持生成調優(yōu)建議所需的數據趨勢圖。
官方網站:http://code.google.com/p/gclogviewer/
3、SLF4J – 基于API的Java日志框架SLF4J提供了一個簡單統(tǒng)一的日志記錄接口,開發(fā)者在配置和部署時只需要實現這個接口即可實現日志功能。 Logging API實現既可以選擇直接實現SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通過SLF4J提供的API實現來開發(fā)相應的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
官方網站:http://www.slf4j.org/
4、Flume – Apache日志服務器之前介紹的都是一些日志記錄工具,Flume則是一個日志分析系統(tǒng),Flume是分布式的,它有一個非常靈活的架構,用來收集、聚合以及移動大量日志數據,并且提供可靠、容錯的系統(tǒng)架構。
官方網站:http://flume.apache.org/
5、zLogFabric – 日志存儲系統(tǒng)zLogFabric 是一個集成的跨平臺日志解決方案,通過消息系統(tǒng)收集各個應用的日志信息存儲到一個集中式的系統(tǒng)中。模塊化的設計使得服務器可對日志進行存儲、轉發(fā)、警報以及生成日志統(tǒng)計信息。
zLogFabric 可收集來自文件、syslog、log4j、log4net 以及 Windows 事件的數據。
官方網站:http://www.zlogfabric.com/
6、logstash – Java日志管理工具logstash是一款功能非常強大的日志管理工具,利用logstash,你可以對日志進行傳輸、處理、管理和檢索,并且提供Web接口以便開發(fā)者統(tǒng)計和查詢日志信息。
官方網站:http://www.logstash.net/
7、Commons LoggingCommons Logging的實現不依賴于具體的日志實現工具,僅僅提供一些日志操作的抽象接口,它對其他的日志工具做了封裝,比如Log4J, Avalon LogKit, 和JDK 1.4等。
官方網站:http://commons.apache.org/proper/commons-logging/
8、Darks LogsDarks Logs和log4j類似,也適用于Java、Android等項目,但是Darks Logs使用更加簡單,而且對Android端做了非常大的改善。Darks Logs對Sqlite的日志保存增加了Appender。其旨在解決Android日志無法靈活控制日志等級、格式、保存或顯示目標等常用操作等的問題。
官方網站:https://github.com/liulhdarks/darks-logs
via:codeceo – 小峰
相關文章:
1. python 如何在 Matplotlib 中繪制垂直線2. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數據的代碼3. ASP常用日期格式化函數 FormatDate()4. python中@contextmanager實例用法5. html中的form不提交(排除)某些input 原創(chuàng)6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動輸入功能實現代碼8. 如何通過python實現IOU計算代碼實例9. 開發(fā)效率翻倍的Web API使用技巧10. vue使用moment如何將時間戳轉為標準日期時間格式
