Java日志工具

jopen 6年前

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