Java日志系统

常见的日志框架

JUL

基本组件
在这里插入图片描述
用户使用Logger来进行日志的记录,Logger可以持有多个处理器Handler
(日志的记录使用的是Logger,日志的输出使用的是Handler)
1.自定以日志级别时,记录器和处理器同时设置才生效
2.handler可以时consleHandler和fileHandler,输出到控制台和文件中
3.日志输出的格式可以simpleFormatter设置(logger.addHandler,handler.setFormatter)
4.单例获得Logger logger = logMannger.getLogger("")//参数为类的全路径名,不能new因为是protect的

父子关系

在这里插入图片描述
作用:
父亲所做的设置,也能够同时作用于儿子。
对logger1做日志打印相关的设置,然后我们使用logger2进行日志的打印。

在这里插入图片描述
配置文件

上面都是编码的形式配置。
默认的配置文件在jre下lib下logging.properties。
在这里插入图片描述
文件打印默认是覆盖形式,追加时在配置文件中加入配置
java.util.logging.FileHandler.append = true

Lockback

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
配置文件

1.配置文件的通用属性
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2.Appender:输出的位置
2.1控制台
在这里插入图片描述
在这里插入图片描述
2.2输出文件
在这里插入图片描述
在这里插入图片描述
2.3输出html格式
在这里插入图片描述
在这里插入图片描述

3.日志记录器,里面引入对应的appender
在这里插入图片描述
3.1自定义logger
在这里插入图片描述

4.日志拆分和归档压缩
在这里插入图片描述
在这里插入图片描述
5.过滤器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.异步日志
在这里插入图片描述

在这里插入图片描述
补充
在这里插入图片描述在这里插入图片描述

Log4j

基本组件

Log4j主要由Loggers (日志记录器)、Appenders(输出控制器)和Layout(日志格式化器)组成。
Loggers控制日志的输出以及输出级别(JUL做日志级别Level)
Appenders 指定日志的输出方式(输出到控制台、文件等)
Layout控制日志信息的输出格式。

1.日志级别

关于日志级别信息,例如DEBUG、INFO、WARN、ERROR…级别是分大小的,DEBUG<INFO <WARN <ERROR,分别用来指定这条日志信息的重要程度,Log4j输出日志的规则是:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR级别的日志信息都会输出,而级别比 INFO低的DEBUG则不会输出。
在这里插入图片描述

2.Appenders

记录日志以及定义日志的级别仅仅是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。

常见的Appender:
ConsoleAppender 将日志输出到控制台
FileAppender 将日志输出到文件中
DailyRollingFileAppender 将日志输出到一个日志文件,并且每天输出到一个新的文件
RollingFileAppender 将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件。

3.Layout

用户希望根据自己的喜好格式化自己的日志输出,Log4j可以在Appenders 的后面附加Layouts来完成这个功能。Layouts提供四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。

常见的Layout:
HTTMLayout 以httm格式输出
SimpleLayout 简单的格式输出,默认Info级别的
PatternLayout 自定义的格式

配置文件

配置文件需要配置Logger,Appernder,Layout。Log4j有很多形式的配置文件,主要使用的是log4j.properties。加载时从类路径下找log4j.properties文件,对于maven项目,就是resources包下。
如何加载配置文件以及配置什么内容?
通过查看PropertiesConfigurator类中的几个常量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输出到文件的配置文件
不管有多少种appender,就在第一行,添加,不添加就不生效
在这里插入图片描述
3.按照文件大小拆分日志文件

日志文件的大小,和日志文件的个数。比如1MB,5
文件超过1MB,就会生成第二个文件,知道第五个,再多就是新的覆盖旧的
在这里插入图片描述
4.按照时间拆分

在这里插入图片描述
该例精确到s了

5.输出到数据库
在这里插入图片描述
最后一行sql应该是一行

6.配置根节点logger

在这里插入图片描述
自定义logger的目的是为了区分不同系统的日志信息,比如我们自己的输出加自己的名字,第三方的加其他标识

Log4j2

日志级别

log4j2提供了和log4j相同的日志级别

配置文件

输出到控制台
在这里插入图片描述
在这里插入图片描述
输出到文件
(全局属性)
在这里插入图片描述
(增加Appenders)
在这里插入图片描述
(loggers引用)
在这里插入图片描述
日志拆分
在这里插入图片描述
在这里插入图片描述
异步日志
在这里插入图片描述
一般用后者
在这里插入图片描述

在这里插入图片描述
实例:
在这里插入图片描述

(使用AsyncAppender的方式)
在这里插入图片描述
在这里插入图片描述

(使用AsyncLogger的方式全局异步)
在这里插入图片描述
(使用AsyncLogger的方式混合异步)
在这里插入图片描述

在这里插入图片描述
在这个包下的类以及子包的类才是异步,其他包还是同步
在这里插入图片描述

log4j与slf4j配合
在这里插入图片描述
在这里插入图片描述

日志门面

JCL

在这里插入图片描述

Slf4j

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

slf4j绑定nop在这里插入图片描述
slf4j绑定log4j

适配器
在这里插入图片描述
当绑定多个日志实现时(导入了多个日志框架的依赖),会出现警告信息。

需求

在这里插入图片描述
使用桥接器步骤:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值