作為一名Java程式設計師,我們開發了許多Java應用程序,包括桌面應用、WEB應用以及行動應用。然而日誌系統是一個成熟Java應用所必不可少的,在開發和調試階段,日誌可以幫助我們更好更快地定位bug;在運行維護階段,日誌系統又可以幫我們記錄大部分的異常信息,從而幫助我們更好的完善系統。本文要來分享一些Java程式設計師最常使用的Java日誌框架元件。
1、Log4j – 最受歡迎的Java日誌元件
Log4j是一款基於Java的開源日誌元件,Log4j功能非常強大,我們可以將日誌資訊輸出到控制台、檔案、使用者介面,也可以輸出到作業系統的事件記錄器和一些系統常駐進程。更值得一提的是,Log4j可以讓你非常方便地自訂日誌格式和日誌等級,可以幫助開發人員全方位掌控日誌資訊。
官方網站: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 – Javaloger 6的gc log視覺化工具,和gcviewer相比,gclogviewer支援根據gc log產生GC的趨勢圖,也支援產生調優建議所需的資料趨勢圖。
官方網站:http://code.google.com/p/gclogviewer/
3、SLF4J – 基於API的Java日誌框架
SLF4J提供了一個簡單統一的日誌記錄框架
SLF4J提供了一個簡單統一的日誌記錄框架
SLF4J提供了一個簡單統一的日誌記錄框架
SLF4J提供了一個簡單統一的日誌記錄時只需要實作這個介面即可實現日誌功能。 Logging API實作既可以選擇直接實作SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以透過SLF4J提供的API實作來開發對應的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
官方網站:http://www.slf4j.org/
4、Flume – Apache日誌伺服器
之前介紹的都是一些日誌記錄工具,Flume則是日誌分析系統,Flume是分散式的,它有一個非常靈活的架構,用來收集、聚合以及移動大量日誌數據,並且提供可靠、容錯的系統架構。官方網站:http://flume.apache.org/
5、zLogFabric – 日誌儲存系統
zLogFabric 是一個整合的跨平台資訊系統
zLogFabric 記錄到一個集中式的系統。模組化的設計使得伺服器可儲存日誌、轉發、警報以及產生日誌統計資料。 zLogFabric 可收集來自檔案、syslog、log4j、log4net 以及 Windows 事件的資料。官方網站:http://www.zlogfabric.com/
🎜 6、logstash – Java日誌管理工具🎜🎜 logstash是一款功能非常強大的日誌管理工具,利用日誌管理工具傳輸、處理、管理和檢索,並提供Web介面以便開發者統計和查詢日誌資訊。 🎜🎜 官方網站:http://www.logstash.net/🎜7、Commons Logging
Commons Logging的實現不依賴於具體的日誌實現工具,僅僅提供一些日誌操作的抽象接口,它對其他的日誌工具做了封裝,比如Log4J, Avalon LogKit, 和JDK 1.4等。
官方網站:http://commons.apache.org/proper/commons-logging/
8、Darks Logs
Darks Logs和log4j類似,也適用於DAndroidgs等項目,但也適用於Darkgs和log4j類似,也適用於DAndroidgs等項目,但也適用於Darkgs等項目,但也適用於Darkgs等項目,但也適用於Darkgs等項目,但也適用於Darkgs等項目更,而且對Android端做了非常大的改善。 Darks Logs對Sqlite的日誌保存增加了Appender。其旨在解決Android日誌無法靈活控制日誌等級、格式、儲存或顯示目標等常用操作等的問題。
官方網站:https://github.com/liulhdarks/darks-logs