日志框架的作用
- 定制输出目标
可以选择输出到控制台或文件等 - 定制输出格式
可以为输出内容配置公用的格式 - 携带上下文信息
可以携带类信息,时间信息等上下文信息 - 运行时选择性输出
可以只输出部分等级,部分类的日志 - 灵活的配置
可以选择按天滚动等 - 优异的性能
System.out.println会添加synchronized方法锁,会极大地影响系统性能
logback所需jar包
springboot在spring-boot-starter-web中内嵌了logback的模块,所以不用额外引用包.若不使用springboot,需要导入如下两个包:
logback-core-xxx.jar
logback-classic-xxx.jar
包的依赖关系可以使用如下指令来查看:
1 | mvn dependency:tree |
Spring Test中使用Logback
普通引入:
1 | (SpringRunner.class) |
lombok简化引入:
1 | (SpringRunner.class) |
使用配置文件
在resources目录下新建logback-spring.xml就可以对日志进行配置了。日志基本内容如下:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
常用pattern说明
pattern | 意义 |
---|---|
%d{pattern} | 日期 |
%m 或 %msg | 信息 |
%c{length} | logger名,默认输出全路径,当length大于路径长度输出全路径,length为0只输出类名,否则输出路径首字母及类名 |
%M | method |
%L | 行号 |
%thread | 线程名称 |
%-5level | 等级 |
%n | 换行 |