JAVA日志体系结构
来源:互联网 发布:微信变声软件 编辑:程序博客网 时间:2024/06/14 06:09
commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!
log4j、logback等等才是日志的真正实现。
SLF4J解释:
SLF4J,即简单日志门面(Simple Logging Facade for Java);
从设计模式的角度考虑,它是用来在log和代码层之间起到门面的作用。对应用来说只要使用slf4j提供的接口,即可隐藏日志的具体实现。
这与jdbc很相似。使用jdbc也就避免了不同的具体数据库。使用了slf4j可以对客户端应用解耦。
因为当我们在代码实现中引入log日志的时候,用的是接口,所以可以实时的根据情况来调换具体的日志实现类。这就是slf4j的作用。
SLF4J所提供的核心API是一些接口以及一个LoggerFactory工厂类。SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,
最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统;
配置SLF4J是非常简单的一件事,只要将与你打算使用的日志系统对应的jar包加入到项目中,SLF4J就会自动选择使用你加入的日志系统;
日志系统绑定原理:
在应用中,通过LoggerFactory类的静态方法getLogger()获取logger。
通过查看该类的代码可以看出,最终是通过StaticLoggerBinder.getSingleton().getLoggerFactory()方法获取LoggerFactory。
然后,在通过该具体的LoggerFactory来获取logger的。类org.slf4j.impl.StaticLoggerBinder并不在slf4j-api-1.5.2.jar包中,
仔细查看每个与具体日志系统对应的jar包,就会发现,相应的jar包都有一个org.slf4j.impl.StaticLoggerBinder的实现,
不同的实现返回与该日志系统对应的LoggerFactory,因此就实现了所谓的静态绑定,达到只要选取不同jar包就能简单灵活配置的目的。
slf4j源码解析
- JAVA日志体系结构
- Java日志框架——Logback的体系结构
- oracle rac 日志体系结构!
- oracle rac 日志体系结构
- oracle rac 日志体系结构
- oracle rac 日志体系结构
- Log4j日志体系结构解读
- Log4j日志体系结构
- Log4j日志体系结构
- Java体系结构
- java体系结构
- java体系结构
- java体系结构
- Java体系结构
- RAC Clusterware 的日志体系结构
- 【体系结构】MySQL 日志文件--错误日志
- 【体系结构】MySQL 日志文件--慢查询日志
- java体系结构1
- 深入剖析PE文件 (告诉你exe文件打开后是依据什么来创建进程并在系统中运行)
- Idea 注解错误could not autowire no beans of...plicationEventMulticaster not initialized
- 为何用Angular CLI 以及安装和使用
- string.IsNullOrEmpty与string.IsNullOrWhiteSpace
- Android studio使用JNI实例(2)- 调用外部so库
- JAVA日志体系结构
- C#中虚方法和抽象方法分别用在什么时候
- javaScript基础(三)
- A + B Problem II(大整数加法)
- 欢迎使用CSDN-markdown编辑器
- 机器学习的几种划分
- 动画机制-《Android群英传》
- 7-4 表达式转换(25 分)
- 机房---表