(一)logback模块和主要接口
来源:互联网 发布:淘宝店在哪找货源 编辑:程序博客网 时间:2024/05/17 04:21
一、logback模块
logback大致可分为3个模块:logback-core、logback-classic和logback-access。
logback-core:是其他两个模块的基础,包含了核心元件的接口和实现。
logback-classic:实现了slf4j api,所以你可以在logback和slf4j其他的实现之间切换。
logback-access:提供了在web容器中http-access日志功能的实现。
从上述内容我们可以看出,一般应用我们需要添加如下依赖:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.7</version></dependency><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> </dependency>
在logback中,我们需要理解的最重要的4个接口或类型就是Logger,Encoder,Layout和Appender。logback的Logger是一个实现类,放在classic包里,这个Logger类是slf4j的org.slf4j.Logger
接口的一个实现,Layout和Appender两个接口在core包里。
二、主要类型和接口
下面主要介绍类型的职责,详细在后续章节说明:
ch.qos.logback.classic.Logger
这个Logger类是slf4j的org.slf4j.Logger
接口的一个实现。他提供了我们在记录日志时候的入口。通过调用不同日志级别的同名方法,产生不同级别的日志事件。
下面是使用Logger时日志记录常用方法(每个级别还包含一系列重载方法,这里不做展示):
public void trace(String format);public void debug(String msg);public void info(String msg);public void warn(String msg);public void error(String msg);
ch.qos.logback.core.encoder.Encoder
Encoder负责将日志event转换为byte array,然后将byte array传输到OutputStream流中。
ch.qos.logback.core.Layout
Layout负责将日志event转换成string。
ch.qos.logback.core.Appender
官方文档的解释是:Logback delegates the task of writing a logging event to components called appenders。说实话我没看懂,XD。
其实理解Appender只需要理解他最重要的一个方法doAppend(E event)
。这个方法也是logback框架最重要的一个方法。E具体是什么类型在不同模块里有所不同,classic里他是继承ILoggingEvent接口的一个类型实例,在access模块里,他是AccessEvent类型的实例。doAppend方法干的事儿就是接收一个日志事件,然后让他以正确的格式向外输出给对应的设备。这就是Appender主要干的事儿。
我们在配置Appender的时候,常会看到子节点有filter,encoder,xxpolicy这些东西,appender会协调这些组件一起工作。
- (一)logback模块和主要接口
- OA主要模块的分析(一)
- 一、叙述Hibernate应用的主要接口和类
- hibernate主要接口和类(笔记)
- Servlet总结(主要接口和类)
- Logback手记(一)
- Logback手记(一)
- logback源码剖析(一)——slf4j和logback如何产生关联
- OpenCV(一) 主要模块及结构功能简述
- spring中几个主要的类(一)InitializingBean接口
- Servlet主要接口和类
- logback 配置详解(一)
- logback 配置详解(一)
- logback 配置详解(一)
- logback 配置详解(一)
- logback 配置详解(一)
- logback 配置详解(一)
- logback 配置详解(一)
- EKF—面向初学者的互动教程(1)
- SGA 的自动管理
- 1004. 成绩排名 (20)
- LintCode刷题(入门篇)
- 06-图3 六度空间(30 point(s))
- (一)logback模块和主要接口
- Java
- Android布局优化
- VIN码识别/车牌识别:是入口,是门面
- 三个工具帮你记住Linux命令
- 双目立体视觉匹配算法-----SAD匹配算法、BM算法、SGBM算法、GC算法
- 1006. 换个格式输出整数 (15)
- Shell 命令大全Xhell入门
- 微信小程序 setData 的坑