Java 程序员常用的日志框架有哪些?
作为一名 Java 程序员,可以开发了很多 Java 应用程序,包括桌面应用、WEB 应用以及移动应用。然而日志系统是一个成熟 Java 应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位 bug;在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。本文要来分享一些 Java 程序员最常用的 Java 日志框架组件。
1、log4j – 最受欢迎的 Java 日志组件
Log4j 是一款基于 Java 的开源日志组件,Log4j 功能非常强大,我们可以将日志信息输出到控制台、文件、用户界面,也可以输出到操作系统的事件记录器和一些系统常驻进程。更值得一提的是,Log4j 可以允许你非常便捷地自定义日志格式和日志等级,可以帮助开发人员全方位地掌控日志信息。
下面是使用 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 的趋势图,也支持生成调优建议所需的数据趋势图。
3、SLF4J – 基于 API 的 Java 日志框架
SLF4J 提供了一个简单统一的日志记录接口,开发者在配置和部署时只需要实现这个接口即可实现日志功能。 Logging API 实现既可以选择直接实现 SLF4J 接的 loging APIs 如: NLOG4J、SimpleLogger。也可以通过 SLF4J 提供的 API 实现来开发相应的适配器如 Log4jLoggerAdapter、JDK14LoggerAdapter。
4、Flume – Apache 日志服务器
之前介绍的都是一些日志记录工具,Flume 则是一个日志分析系统,Flume 是分布式的,它有一个非常灵活的架构,用来收集、聚合以及移动大量日志数据,并且提供可靠、容错的系统架构。
5、zLogFabric – 日志存储系统
zLogFabric 是一个集成的跨平台日志解决方案,通过消息系统收集各个应用的日志信息存储到一个集中式的系统中。模块化的设计使得服务器可对日志进行存储、转发、警报以及生成日志统计信息。
zLogFabric 可收集来自文件、syslog、log4j、log4net 以及 Windows 事件的数据。
6、logstash – Java 日志管理工具
logstash 是一款功能非常强大的日志管理工具,利用 logstash,你可以对日志进行传输、处理、管理和检索,并且提供 Web 接口以便开发者统计和查询日志信息。
7、Commons Logging
Commons Logging 的实现不依赖于具体的日志实现工具,仅仅提供一些日志操作的抽象接口,它对其他的日志工具做了封装,比如 Log4J, Avalon LogKit, 和 JDK 1.4 等。
8、Darks Logs
Darks Logs 和 log4j 类似,也适用于 Java、Android 等项目,但是 Darks Logs 使用更加简单,而且对 Android 端做了非常大的改善。Darks Logs 对 Sqlite 的日志保存增加了 Appender。其旨在解决 Android 日志无法灵活控制日志等级、格式、保存或显示目标等常用操作等的问题。
评论