三、日志
1.日志的使用
使用
@RestController
public class LogController {
public static final Logger log = LoggerFactory.getLogger(LogController.class);
@GetMapping("/index")
public String index(){
log.info("请求info 信息");
log.debug("请求debug 信息");
log.warn("请求warn 信息");
log.error("请求错误信息");
return "OK";
}
}
-
日志级别
- FATAL 灾难信息
- ERROR 错误
- WARN 警告
- INFO 运维过程信息
- DEBUG 调试信息
- TRACE 堆栈信息
-
一般的使用
- INFO
- DEBUG
-
设置日志的级别
logging: level: root: info
-
注意:打印的内容越多,级别也就越低
-
设置组
logging: # 设置组 group: controller: cn.sycoder.springbootlog.controller level: root: info # cn.sycoder.springbootlog.controller: warn controller: warn
2.使用lombok简化日志操作
-
导入依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
-
使用
@Slf4j @RestController public class LogController { @GetMapping("/index") public String index(){ log.info("请求info 信息"); log.debug("请求debug 信息"); log.warn("请求warn 信息"); log.error("请求错误信息"); return "OK"; } }
-
底层反编译
2.使用lombok简化日志操作
-
导入依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
-
使用
@Slf4j @RestController public class LogController { @GetMapping("/index") public String index(){ log.info("请求info 信息"); log.debug("请求debug 信息"); log.warn("请求warn 信息"); log.error("请求错误信息"); return "OK"; } }
-
底层反编译
3.日志输出格式
-
图示
-
模仿springboot 写一下日志文件
logging: pattern: console: "%d %clr(%-5p){yellow} %clr(${pid}){magenta} ---[%20t] %-40.40c : %m %n"
4.输出日志到文件
-
背景:项目持续跑,日志文件会越来越大。
4.1指定路径输出
-
指定路径
logging: file: path: F:\03-Spring\SpringBoot\homework\springboot-log
4.2指定名称输出
-
指定名称
logging: file: name: F:\03-Spring\SpringBoot\homework\springboot-log\sy.log
-
注意:指定名称输出的优先级会更高
4.3拆分日志文件
-
注意版本信息,如果版本太低的时候不支持 logback
-
按照日期的格式拆分
- sy2023-01-10-1.log
- sy2023-01-10-2.log
-
拆分日志文件
logdir: F:\03-Spring\SpringBoot\homework\springboot-log\ logging: logback: rollingpolicy: max-file-size: 2KB file-name-pattern: ${logdir}sy-%d{yyyy-MM-dd}-%i.log file: name: ${logdir}sy.log