SpringBoot-日志
目录[*]1. java日志框架发展史
[*]1. 1起源
[*]1. 2日志实现
[*]2. logback日志的集成
[*]2.1. 日志级别
[*]2.2. 日志格式
[*]2.3. 日志文件输出
[*]2.4. 日志归档
[*]2.5. 自定义配置文件
[*]2.6. 日志其他框架切换
1. java日志框架发展史
1. 1起源
在jdk1.3时期想要追踪异常大多只能使用System.out.println("error")的方式,这会导致代码中出现大量的打印而且无法记录在文本中。于是
[*]将错误信息写入txt并保存,这样就可以顺利追踪到异常了
[*]但随着用户请求量越来越大单个文本达到1-2个G文件将很难打开,于是将日志信息按天迭送例如:xxxx年xx月xx日.log或者按物理大小迭代例如:xxxx年xx月xx日_20M.log
[*]为能及时追踪异常信息,用户出现异常信息时能不能发送邮件或者短信提醒
[*]按等级区分日志例如:追踪 信息 调试 异常
[*]异步执行防止阻塞
[*]自定义日志格式
这便是日志框架的整体设计思路例如:log4j(开源)、jul(官方)
1. 2日志实现
日志实现日志门面实现方式log4j(性能差,淘汰)JCL使用类加载器主动寻找有没有日志实现,缺点:当使用自定义类加载器时可能会导致内存溢出。jul(性能一般,使用方便)SJF4J使用桥接器将日志实现和日志门面关联,性能更好。适配器将其他日志转换成指定的日志类型,例如将jul或jcl等转换成slf4j。SJF4J官方针对每个日志都提供了对应的适配器,也针对日志实现提供了对应的桥接器。log4j2(推荐)logback(推荐,与SJF4J同一作者)门面不实现日志功能,只是整合日志框架。
[*]使用jul+jcl记录日志
<dependency>
<groupId>commons-logging</groupId>
commons-logging</artifactId>
<version>1.2</version>
</dependency>多个日志框架同时存在时,为实现日志统一,将jcl转化到slf4j
<dependency>
<groupId>org.slf4j</groupId>
jcl-over-slf4j</artifactId>
<version>1.7.30</version>
</dependency>import org.apache.commons.logging.LogFactory;
Log logger = LogFactory.getLog(jul.class);
logger.info("\n一行信息");//对应不同日志级别
[*]使用og4j+slf4j记录日志
在使用log4j前需要在resources目录下新增log4j.properties配置文件文件
#ALL
页:
[1]