专栏首页java一日一条Java程序员最常用的8个Java日志框架

Java程序员最常用的8个Java日志框架

作为一名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 – Java日志查看工具

gclogviewer是一个支持jdk 6的gc log可视化工具,和gcviewer相比,gclogviewer支持根据gc log生成GC的趋势图,也支持生成调优建议所需的数据趋势图。

官方网站:http://code.google.com/p/gclogviewer/

3、SLF4J – 基于API的Java日志框架

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 可收集来自文件、syslog、log4j、log4net 以及 Windows 事件的数据。

官方网站:http://www.zlogfabric.com/

6、logstash – Java日志管理工具

logstash是一款功能非常强大的日志管理工具,利用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类似,也适用于Java、Android等项目,但是Darks Logs使用更加简单,而且对Android端做了非常大的改善。Darks Logs对Sqlite的日志保存增加了Appender。其旨在解决Android日志无法灵活控制日志等级、格式、保存或显示目标等常用操作等的问题。

官方网站:https://github.com/liulhdarks/darks-logs

本文分享自微信公众号 - java一日一条(mjx_java),作者:小马哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-05-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java对象初始化顺序

    最近我发现了一个有趣的问题,这个问题的答案乍一看下骗过了我的眼睛。看一下这三个类:

    哲洛不闹
  • 借助 AOP 为 Java Web 应用记录性能数据

    作为开发者,应用的性能始终是我们最感兴趣的话题之一。然而,不是所有的开发者都对自己维护的应用的性能有所了解,更别说快速定位性能瓶颈并实施解决方案了。

    哲洛不闹
  • log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    log4j-over-slf4j和slf4j-log4j12是跟java日志系统相关的两个jar包,当它们同时出现在classpath下时,就可能会引起堆栈溢出...

    哲洛不闹
  • Kubernetes之日志收集

    Docker的日志分为两类,一类是 Docker引擎日志;另一类是容器日志。引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,...

    kubernetes中文社区
  • “淘宝京东”构建流式计算卖家日志系统架构的应用实践

    美的让人心动
  • 日志轮替logrotate

    每年都要买衣服,有的衣服旧了,有的衣服破了,所以总是要将旧衣服放在一边,进行归档,新的衣服放在一边,是正在使用的。

    SRE运维实践
  • 腾讯云容器服务日志采集最佳实践

    roc,腾讯高级工程师,Kubernetes Contributor,热爱开源,专注云原生领域。目前主要负责腾讯云TKE 的售中、售后的技术支持,根据客户需求...

    腾讯云原生
  • 集中日志系统ELK

    以前都是登陆到每个机器去看日志,特别是一个服务有多个机器集群部署,还要下载多个机器的日志(运维下载日志,然后给开发排查问题),现在elk是集中式日志系统,所有的...

    青乡java
  • Windows 入侵痕迹清理技巧

    为避免入侵行为被发现,攻击者总是会通过各种方式来隐藏自己,比如:隐藏自己的真实IP、清除系统日志、删除上传的工具、隐藏后门文件、擦除入侵过程中所产生的痕迹等。

    Bypass
  • 有赞移动日志实践

    日志系统,是移动端定位排查线上问题非常有效的一个工具。以往商家使用App出现问题,向客服咨询时,客服需要详细收集商家的问题信息、店铺信息(操作步骤、操作视频等)...

    有赞coder

扫码关注云+社区

领取腾讯云代金券