Java日志相关技术_动力节点Java学院整理

时间:2022-12-05 13:30:40

java日志相关技术

作为一名java程序员,我们开发了很多java应用程序,包括桌面应用、web应用以及移动应用。然而日志系统是一个成熟java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug;在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统。本文要来分享一些java程序员最常用的java日志框架组件。

1、log4j – 最受欢迎的java日志组件

log4j是一款基于java的开源日志组件,log4j功能非常强大,我们可以将日志信息输出到控制台、文件、用户界面,也可以输出到操作系统的事件记录器和一些系统常驻进程。更值得一提的是,log4j可以允许你非常便捷地自定义日志格式和日志等级,可以帮助开发人员全方位地掌控日志信息。

Java日志相关技术_动力节点Java学院整理

官方网站:http://logging.apache.org/log4j/2.x/

下面是使用log4j的一个简单例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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。

Java日志相关技术_动力节点Java学院整理

官方网站:http://www.slf4j.org/

4、flume – apache日志服务器

之前介绍的都是一些日志记录工具,flume则是一个日志分析系统,flume是分布式的,它有一个非常灵活的架构,用来收集、聚合以及移动大量日志数据,并且提供可靠、容错的系统架构。

Java日志相关技术_动力节点Java学院整理

官方网站:http://flume.apache.org/

5、zlogfabric – 日志存储系统

zlogfabric 是一个集成的跨平台日志解决方案,通过消息系统收集各个应用的日志信息存储到一个集中式的系统中。模块化的设计使得服务器可对日志进行存储、转发、警报以及生成日志统计信息。

zlogfabric 可收集来自文件、syslog、log4j、log4net 以及 windows 事件的数据。

Java日志相关技术_动力节点Java学院整理

官方网站: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