文档章节

Java日志

如比如比
 如比如比
发布于 2015/07/18 11:48
字数 1206
阅读 253
收藏 17

Java日志

2015/7/18

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

 

 

SLF4J与LogBack服务的Demo

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

 

gclogviewer – Java日志查看工具

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

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

 

Flume – Apache日志服务器

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

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

 

zLogFabric – 日志存储系统

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

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

官网:http://www.zlogfabric.com/(已经无法访问)

 

logstash – Java日志管理工具

logstash是一款功能非常强大的日志管理工具,利用logstash,你可以对日志进行传输、处理、管理和检索,并且提供Web接口以便开发者统计和查询日志信息。

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

 

Darks Logs

Darks Logs和log4j类似,也适用于Java、Android等项目,但是Darks Logs使用更加简单,而且对Android端做了非常大的改善。Darks Logs对Sqlite的日志保存增加了Appender。其旨在解决Android日志无法灵活控制日志等级、格式、保存或显示目标等常用操作等的问题。

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

 

 

© 著作权归作者所有

如比如比
粉丝 127
博文 178
码字总数 286951
作品 0
日本
程序员
私信 提问
数据库中间件 Sharding-JDBC 源码分析 —— 分布式事务(一)之最大努力型

摘要: 原创出处 http://www.iocoder.cn/Sharding-JDBC/transaction-bed/ 「芋道源码」欢迎转载,保留摘要,谢谢! 本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. 最大努力送达型 3. 柔...

芋道源码
2017/11/05
0
1
Was(WebSphere)不能正常打印程序日志问题

【was日志配置】 服务器 -- 服务器类型 ——webSphere Appliaction server -- 选择sever -- java和进程管理 -- 进程定义 -- java虚拟机 ,调整“通用JVM参数”。 例如Log4j日志变量名称为:打...

gerry_pang
2014/01/09
0
0
Linux后台运行java -jar

问题描述 我打好的jar包,放在服务器上之后,在windows里面用xshell打开一个连接,然后运行java -jar 。。。。执行这个jar文件,当我关闭这个链接的时候为什么程序停止了呢? 打开XShell连接...

汪纬
2018/04/12
0
0
【转】Java Crash原因汇总

如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步: 1. 拿到Java应用程序的日志文件 2. 查找JVM的致命错误日志 3. 查找操作系统的core dump文件 4. 使用Dtr...

mj4738
2011/12/04
0
0
IBM和SAP开源其JVM诊断工具

IBM最近发布了其Java诊断工具套件,该套件包含如下工具:面向Java的产品转储分析器(Dump Analyzer)、处理垃圾收集(GC,即Garbage Collection)的Extensible Verbose Toolkit和Java锁分析器...

JavaGG
2010/03/24
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux修改时区的正确方法【修改时间,需要修改软连接,靠谱】

CentOS和Ubuntu的时区文件是/etc/localtime,但是在CentOS7以后localtime以及变成了一个链接文件 [root@centos7 ~]# ll /etc/localtime lrwxrwxrwx 1 root root 33 Oct 12 11:01 /etc/loca......

Airship
34分钟前
0
0
《Netkiller Spring Cloud 手札》之 Master / Slave 主从数据库数据源配置

5.19.1. Master / Slave 主从数据库数据源配置 5.19.1.1. application.properties spring.datasource.master.driverClassName = com.mysql.cj.jdbc.Driverspring.datasource.master.url=j......

netkiller-
38分钟前
41
0
大数据(hadoop-HDFS的本地开发环境的配置与常见的HDFS的JAVA API)

HDFS的本地开发环境搭建 1:所需工具 1)hadoop2.7.3安装包 2)hadoop-eclipse-plugin插件 https://github.com/winghc/hadoop2x-eclipse-plugin 2:搭建过程 1:解压hadoop2.7.3文件2:下载...

这很耳东先生
50分钟前
1
0
TCP协议的定义和丢包时的重传机制

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,...

tantexian
50分钟前
2
0
图解Tomcat类加载机制(阿里面试题)

Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双...

群星纪元
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部