目录
- 1. java日志框架发展史
- 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同一作者)门面不实现日志功能,只是整合日志框架。
- <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配置文件文件
[code]#ALL |