Java日志工具

jopen 9年前發布 | 20K 次閱讀 Java Java開發

Java日志,最簡單的方式,就是system.print.out ,err 這樣直接在控制臺打印消息了。

 

java.util.logging. Logger

Java 日志 API

java.util.logging ; JDK 1.4 版本之后,提供了日志的API ,可以往文件中寫日志了。

從功能上來,日志 API 本身所需求的功能非常簡單,只需要能夠記錄一段文本即可。API 的使用者在需要記錄時,根據當前的上下文信息構造出相的文本信息,調 API 完成記錄。一般來,日志 API 由下面幾個部分成:

記錄器(Logger):日志 API 的使用者通過記錄器來出日志記錄請求,并提供日志的內容。在記錄日志,需要指定日志的重性級別

格式化器(Formatter):對記錄器所記錄的文本行格式化,并添加外的元數據。

理器(Handler):把經過格式化之后的日志記錄輸出到不同的地方。常的日志出目包括控制臺、文件和數據等。

參考資料:

http://www.ibm.com/developerworks/cn/java/j-lo-practicelog/

 

Apache Commons Logging The Logging Component

官網:http://commons.apache.org/proper/commons-logging/

commons-logging-1.2

commons-logging, 最綜合和常見的日志記錄方式, 經常是和log4j 結合起來使用。

參考資料:

http://blog.csdn.net/oscar999/article/details/9698489

 

Apache logging services

官網:http://logging.apache.org/

log4j-1.2.17

log4j , 最強大的記錄日志的方式。 可以通過配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等。

 

apache-log4j-2.3

Log4J 2.x的性能文檔中有這樣組對比:

 logger.debug("Entry number: " + i + " is " +  String.valueOf(entry[i]));

 logger.debug("Entry number: {} is {}", i, entry[i]);

上面兩條句在日志出上的效果是一的,但是在關DEBUG日志,它的開就不一了,主要的影響在于字符串轉換和字符串拼接上,無是否生效,前者都會將轉換為字符串并行拼接,而后者只會在需要時執些操作。Log4J官方的測試結論是兩者在性能上能相差兩個數量

參考資料:

http://www.infoq.com/cn/articles/things-of-java-log-performance

 

Simple Logging Facade for Java (SLF4J)

 

除了 JUL log4j 這樣的日志記錄庫之外,有一類庫用來封裝不同的日志記錄庫這樣的封裝中一開始以 Apache Commons Logging 框架最流行,在(2013/11/08/)比流行的是 SLF4J

官網:http://www.slf4j.org/

slf4j-1.7.12

 

Logback Project

官網:http://logback.qos.ch/

LOGBack作為一個通用可靠、快速靈活的日志框架,將作為Log4j的替代和SLF4J組成新的日志系統的完整實現。

參考資料:

http://blog.csdn.net/mashangyou/article/details/24304199

http://blog.csdn.net/yycdaizi/article/details/8276265

http://my.oschina.net/pingpangkuangmo/blog/410224


logback 常用配置

logback 常用配置詳解(序)logback 簡介 http://aub.iteye.com/blog/1101222

logback 常用配置詳解(一)<configuration> and <logger>http://aub.iteye.com/blog/1101260

logback 常用配置詳解(二)<appender>http://aub.iteye.com/blog/1103685

logback 常用配置詳解(三) <filter>http://aub.iteye.com/blog/1110008

logback 中文手冊http://aub.iteye.com/blog/1896611


SLF4JLogBackDemo

http://www.cnblogs.com/jayzee/p/3283793.html

 

gclogviewer – Java日志看工具

gclogviewer是一個支持jdk 6gc log化工具,和gcviewer相比,gclogviewer支持根據gc log生成GC趨勢圖,也支持生成調優所需的數據趨勢圖

官網:http://code.google.com/p/gclogviewer/

 

Flume – Apache日志服

之前介的都是一些日志記錄工具,Flume是一個日志分析系Flume是分布式的,它有一個非常靈活的架構,用來收集、聚合以及移大量日志數據,并且提供可靠、容的系架構。

官網:http://flume.apache.org/

 

zLogFabric – 日志存

zLogFabric 是一個集成的跨平臺日志解決方案,通消息系收集各個用的日志信息存到一個集中式的系中。模化的設計使得服器可日志行存轉發、警以及生成日志統計信息。

zLogFabric 可收集來自文件、sysloglog4jlog4net 以及 Windows 事件的數據。

官網:http://www.zlogfabric.com/(已經無法訪問)

 

logstash Java日志管理工具

logstash是一款功能非常大的日志管理工具,利用logstash,你可以日志傳輸理、管理和索,并且提供Web接口以便開統計查詢日志信息。

官網:http://www.logstash.net/

 

Darks Logs

Darks Logslog4j似,也適用于JavaAndroid目,但是Darks Logs使用更加簡單,而且Android端做了非常大的改善。Darks LogsSqlite的日志保存增加了Appender。其旨在解決Android日志無法靈活控制日志等、格式、保存或示目等常用操作等的問題

官網:https://github.com/liulhdarks/darks-logs

 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!