SpringBoot詳細(xì)講解日志文件
1 日志的功能是什么?
如果程序報(bào)錯(cuò)了, 卻不能從控制臺(tái)查看日志, 那么就不知道錯(cuò)誤的原因了.
日志的功能 :
- 快速的排查和定位問題
- 記錄用戶登錄的日志
- 記錄系統(tǒng)的操作日志
- 記錄程序的執(zhí)行時(shí)間
2 如何自定義日志打印
自定義日志的打印步驟 :
第一步: 在程序當(dāng)中獲取日志對(duì)象
第二步: 調(diào)用日志對(duì)象的打印方法, 將信息打印出來(lái)
2.1 在程序中獲取日志對(duì)象
獲取日志對(duì)象需要使用日志工廠 LoggerFactory
這里的 Logger 對(duì)象屬于 org.slf4j 包下.
// 1. 得到日志對(duì)象
private static final Logger logger = LoggerFactory.getLogger(UserController.class);

SpringBoot中內(nèi)置了 日志框架slf4j, 可以直接在程序中調(diào)用slf4j來(lái)輸出日志
2.2 調(diào)用日志對(duì)象打印日志
日志對(duì)象的打印方法有很多, 目前展示這一個(gè)
// 2. 使用日志對(duì)象打印日志
logger.info("日志級(jí)別:info");
2.3 查看日志打印的結(jié)果

3 日志的級(jí)別
有了日志的級(jí)別, 開發(fā)者就可以設(shè)置日志級(jí)別, 從而得到對(duì)自己有用的日志信息, 大大節(jié)省了分類的成本.
3.1 日志級(jí)別的分類
日志的級(jí)別分為:
trace:普通微量的日志信息debug: 調(diào)式的時(shí)候的日志信息info: 普通的日志信息 (默認(rèn)日志級(jí)別)warn: 警告的日志信息error: 錯(cuò)誤的日志信息fatal: 致命錯(cuò)誤,最高日志級(jí)別
日志級(jí)別的順序 :

3.2 日志級(jí)別的設(shè)置
在配置文件中配置日志級(jí)別
.properties 中的格式
logging.level.root=error
.yml 中的格式
logging:
level:
root: info
輸出

如果設(shè)置的是info級(jí)別.那么級(jí)別低于info的就不輸出了.
日志輸出級(jí)別, 默認(rèn)是info
4 日志持久化
上面演示的日志, 都是輸出在控制臺(tái)的, 如果在生產(chǎn)環(huán)境下, 想要保存這些日志, 方便日后查看日志. 這里的把日志保存下來(lái), 就叫做持久化
注意: 默認(rèn)情況下SpringBoot會(huì)有一個(gè)最大的日志大小限制, 如果日志的文件大于默認(rèn)的最大日志大小, 那么SpringBoot會(huì)重新
配置日志文件的保存路徑
logging:
file:
path: D:/logs
配置日志文件的文件名
logging:
file:
name: D:/logs/spring.log
運(yùn)行后查看文件

5 更簡(jiǎn)單的日志輸出
如何在SpringBoot中快速添加依賴?
下載插件 EditStarters

5.1 添加 lombok 依賴
在 pom.xml 里右擊 選則 Generate



記得刷新以下maven
5.2 輸出日志
首先添加 @Slf4j 注解
使用log對(duì)象打印日志, 例如 log.error()
@Controller
@Slf4j
public class UsersController {
@RequestMapping("/log")
@ResponseBody
public String printLog() {
log.error("error");
return "Log";
}
}
5.3 lombok 更多的注解
普通注解
| 注解 | 作用 |
|---|---|
| @Getter | ?動(dòng)添加 getter ?法 |
| @Setter | ?動(dòng)添加 setter ?法 |
| @ToString | ?動(dòng)添加 toString ?法 |
| @EqualsAndHashCode | ?動(dòng)添加 equals 和 hashCode ?法 |
| @NoArgsConstructor | ?動(dòng)添加?參構(gòu)造?法 |
| @AllArgsConstructor | ?動(dòng)添加全屬性構(gòu)造?法,順序按照屬性的定義順序 |
| @NonNull | 屬性不能為 null |
| @RequiredArgsConstructor | ?動(dòng)添加必需屬性的構(gòu)造?法,final + @NonNull 的屬性為必需 |
組合注解
| 注解 | 作用 |
|---|---|
| @Data | @Getter + @Setter + @ToString +@EqualsAndHashCode +@RequiredArgsConstructor +@NoArgsConstructor |
日志注解
| 注解 | 作用 |
|---|---|
| @Slf4j | 添加?個(gè)名為 log 的?志,使? slf4 |
到此這篇關(guān)于SpringBoot詳細(xì)講解日志文件的文章就介紹到這了,更多相關(guān)SpringBoot日志文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot @validated List校驗(yàn)失效問題
這篇文章主要介紹了springboot @validated List校驗(yàn)失效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
MybatisPlus實(shí)現(xiàn)真正批量插入的詳細(xì)步驟
Spring?Boot?Admin?監(jiān)控指標(biāo)接入Grafana可視化的實(shí)例詳解

