java日志系统可以大致分为三部分: 日志外观界面,桥接和日志框架实现.
有许多种Java日志记录框架. 最简单的是Java附带的java.util.logging,最经典的是log4j. 后来,出现了一个性能比log4j好的logback. 其他日志框架则没有. 如何常用. 应用程序当然可以直接使用这些特定日志记录框架的API来满足日志输出要求,但是由于各种日志记录框架之间的API通常不兼容,因此使应用程序失去了替换日志记录框架的灵活性.
比直接使用特定的日志框架API更合理的选择是使用日志外观界面. 日志外观界面提供了一组独立于特定日志记录框架的API. 应用程序可以使用这些独立的API来实现与JDBC类似的特定日志框架的解耦. 最早的日志外观界面是commons-logging,但最受欢迎的界面是slf4j.
日志外观界面本身通常不具有实际的日志输出功能. 底层仍然需要调用特定的日志框架API,也就是说,它需要与特定的日志框架结合使用. 因为存在许多特定的日志框架,并且它们彼此不兼容,所以日志外观界面可能需要相应的桥才能与任何日志框架集成,就像JDBC和各种的组合需要相同的相应JDBC驱动程序一样.
common-logging是apache提供的通用日志记录接口. 用户可以自由选择第三方日志记录组件作为特定的实现日志分类大全,例如log4j或jdk自己的日志记录,当程序通过动态搜索机制运行时,common-logging将自动查找所使用的真实日志库. 当然,在common-logging中有一个Simple logger的简单实现,但是功能很弱. 因此,通常将log与log4j结合使用. 使用它的好处是代码依赖于公共日志而不是log4j,避免与特定的日志记录方案直接耦合,并且如有必要,您可以更改通过日志记录实现的第三方库.
官方网站:
slf4j的全名是Java简单日志外观JAVA的简单日志外观. 与Apache Common-Logging相似,它是为不同的日志记录框架提供的外观封装,可用于访问日志记录实现解决方案,而无需在部署期间修改任何配置. 但是,他在编译时静态绑定了实际的Log库. 使用SLF4J时,如果需要使用特定的日志实现,则必须选择正确的SLF4J jar包(各种桥包)集.
Slf4j静态绑定原理: SLF4J将在编译时绑定导入的org.slf4j.impl.StaticLoggerBinder;此类实现对特定日志方案的绑定访问. 任何基于slf4j的实现都必须具有此类.
官方网站:
common-logging使用动态搜索机制来自动查找程序运行时使用的实际日志库. 因为它使用ClassLoader查找和加载基础日志库,所以导致OSGI之类的框架无法正常工作,因为OSGI的不同插件使用了自己的ClassLoader. OSGI的这种机制可确保插件彼此独立,但是这会使Apache Common-Logging无法正常工作.
slf4j在编译时静态绑定实际的Log库,因此可以在OSGI中使用它. 另外,SLF4J支持参数化的日志字符串,避免了必须先编写的if(logger.isDebugEnable()),以减少字符串连接的性能损失. 现在您可以直接编写: logger.debug(“当前用户为{}”,用户). 汇编消息被推迟到能够确定是否显示该消息为止,但是没有节省获取参数的成本.
Java.util.logging是JDK标准库中的一个类,是在JDK 1.4之后添加的用于日志记录的功能包.
Java Logging API提供了七个用于控制输出的日志级别. 七个级别是:
级别严重警告信息配置精细
调用方法
severe()
warning()
info()
config()
fine()
finer()
finest()
含义
严重
警告
信息
配置
好
更好
最佳
Apache的开源项目. 通过使用Log4j,我们可以控制日志信息到控制台,文件,GUI组件,甚至套接字服务器,NT事件记录器,UNIX Syslog守护程序等的传递目的地;用户还可以控制每个日志的输出格式. 通过定义每个日志信息的级别,用户可以更详细地控制日志生成过程. 这些可以通过配置文件灵活配置,而无需修改程序代码.
官方网站:
logback是由log4j的创始人设计的另一个开源日记组件. Logback当前分为三个模块: logback-core,logback-classic和logback-access. logback-core是其他两个模块的基本模块. logback-classic是log4j的改进版本. 此外,logback-classic完全实现了SLF4J API,因此您可以轻松地将其替换为其他日志系统,例如log4j或JDK14 Logging. logback-access访问模块与Servlet容器集成在一起日志分类大全,提供通过Http访问日记的功能.
官方网站:
以下是一些日志记录工具,Flume是一个日志分析系统,Flume是分布式的,它具有非常灵活的体系结构,用于收集,聚集和移动大量的日志数据,并提供可靠且容错的系统体系结构.
官方网站:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-244134-1.html