Spring Boot 笔记 - 轻松做日志(使用 slf4 和 log4j2)
POM.xml#
使用 slf4(接口)
和 log4j2(实现)
做日志框架. 首先干掉自带的 starter-logging
, 那是 logback
, 然后使用 lombok
插件来简化工作.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
用法#
都差不多的用法, 不过可以用 {}
做字符串拼接, 比较舒服.
然后要加注解 Log4j2
, 这是 lombok
提供的.
@RestController
@Log4j2
public class Controller {
@GetMapping("/users/{id}")
public Optional<User> getOne(@PathVariable Long id) {
log.trace("require user {} info", id);
log.debug("require user {} info", id);
log.info("require user {} info", id);
log.warn("require user {} info", id);
return userService.getUserById(id);
}
}
日志级别调整
在 application.yml
中可以配置级别, 支持多项配置, root
意味着整个项目的日志级别, 某一个包则定义特定包的日志级别, 很容易理解.
logging:
level:
com.example.repo: warn
# com.example.repo.service: warn
# root: warn
分类:
编程语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示