java笔记1-日志
Java笔记1-日志
1.日志
1.日志基本
日志文件用于记录操作系统事件的文件集合,可以处理历史数据,诊断问题以及理解系统活动具有重要作用。
java的日志框架拥有以下作用:
控制日志输出的内容和格式。
控制日志输出的位置。
日志文件相关的优化,如异步操作、归档、压缩
日志系统的维护
面向接口开发-日志的门面
2.JUL
JDK是自带日志系统的,但是功能性比较差。包含以下组件:
- Logger:被称为记录器,应用程序通过获取Logger对象,抵用其API来发布日志信息。Logger通常被认为是访问日志系统的入口程序。
- Handler:处理器,每个Logger都会关联一个或者是一组 Handler,Logger 会将日志交给关联的Handler去做处理,由Handler 负责将日志做记录。Handler具体实现了日志的输出位置,比如可以输出到控制台或者是文件中等等。
- Filter:过滤器,根据需要定制哪些信息会被记录,哪些信息会被略过。
Formatter:格式化组件,它负责对日志中的数据和信息进行转换和格式化,所以它决定了我们输出日志最终的形式。 - Level:日志的输出级别,每条日志消息都有一个关联的级别。我们根据输出级别的设置,用来展现最终所呈现的日志信息。根据不同的需求,去设置不同的级别。
JDK将日志分为七个等级,如下表从左到右依次降低,将级别设置为x,x左边的会输出,x右边的不会输出。
1 |
|
3.log4j1
一个日志框架,日志信息输送的目的地包括控制台,文件,GUI组件服务器等。可以控制日志的生成过程,通过maven的配置文件进行灵活配置。
4.logback
一个开源日记组件,分成三个模块:
logback-core,其他两个模块的基础模块。
logback-classic,完整实现了slf4j API,用于日志系统切换。
logback-access,提供通过http访问日志的功能。
2.门面模式
1.定义
**核心:**外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。Facade拥有以下特点:
- 知道所有子角色的功能和责任
- 将客户端发来的请求委派到子系统中,没有实际业务逻辑
- 不参与子系统内业务逻辑的实现
3.slf4j
1.含义
由于工程里的不同依赖包可能会使用不同的日志系统,slf4j扮演了一个适配层的角色,由适配层决定使用哪一种日志系统。而后端只需打引日志即可。因此,slf4j只是一个日志标准,不是日志系统的具体实现。slf4j-simple、logback都是slf4j的具体实现。
2.实现
关于实现:没有看懂。。。贴一个链接用到了再看
java笔记1-日志
http://example.com/2023/02/03/java笔记1-日志/