日志就是記錄程序日常運(yùn)行的信息,springboot程序啟動(dòng)時(shí),控制臺(tái)顯示的有具體格式的一大串就是日志。平時(shí)用sout直接打印在控制臺(tái)的信息不會(huì)保存,而日志可以保存到文件中,可以幫助我們:
日志的輸出等級(jí)分為六種,從上到下越來愈高:
一般用中間四個(gè),開發(fā)時(shí)候使用DEBUG,上線后使用INFO,運(yùn)維信息記錄使用WARN。
在 ###.yml 文件中設(shè)置輸出等級(jí),代碼格式如下:
# 開啟debug模式,輸出調(diào)試信息,常用于檢查系統(tǒng)運(yùn)行狀況
debug: true
這種格式很簡單,但是不夠精細(xì),一般用下面這種:
# 設(shè)置日志級(jí)別,root表示根節(jié)點(diǎn),即整體應(yīng)用日志級(jí)別
logging:
level:
# 這里可以定義單個(gè)包的日志輸出等級(jí),root就是所有包的的輸出等級(jí)都是debug
root: debug
日志的輸出等級(jí)設(shè)置完之后,低等級(jí)的會(huì)輸出自身和高于自身等級(jí)的日志消息,比如日志輸出等級(jí)設(shè)置為info,則會(huì)輸出級(jí)別為info,warn,error的日志消息。
還可以像多環(huán)境配置一樣在 group 屬性下設(shè)置多個(gè)組,在 level 屬性下給每個(gè)組設(shè)置輸出等級(jí)
logging:
# 設(shè)置日志組
group:
# 自定義組名,設(shè)置當(dāng)前組中所包含的包
ebank: com.alibaba.controller
level:
root: warn
# 為對應(yīng)組設(shè)置日志級(jí)別
ebank: debug
2.運(yùn)用lombok快速添加日志對象log輸出日志得使用log對象,這里使用lombok注解快速創(chuàng)建
@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {@Autowired
private BookService bookService;
@GetMapping
public Result getAll(){log.info("info...");
return new Result(true,bookService.getAll());
}
}
當(dāng)有g(shù)et請求的時(shí)候控制臺(tái)的日志信息就有了
日志的輸出格式如下:
可以在 yaml 配置文件中自定義:
logging:
pattern:
# %d指時(shí)間 %p指級(jí)別 %t指所屬線程 %c指所屬類名 %m指信息 %n換行 %clr()指帶顏色
# -40指最小長度為40靠左 .40表示塊內(nèi)長度定死,過長則縮寫,{}可以配合%clr()指定顏色
console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
4.日志文件工程部署后就在服務(wù)器上運(yùn)行了,沒有IDE的控制臺(tái)可以查看日志,這就需要指定日志文件。
4.1 直接指定文件名logging:
file:
name: server.log
實(shí)際上,日志文件會(huì)很大,所以當(dāng)?shù)竭_(dá)一定大小時(shí)要?jiǎng)?chuàng)建新的日志文件
4.2 指定大空間和格式logging:
logback:
rollingpolicy:
max-file-size: 3MB
//%i會(huì)自增命名
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧