今天就跟大家聊聊有關(guān)如何在SpringBoot中使用Logback管理記錄日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、亭湖網(wǎng)絡(luò)推廣、成都小程序開(kāi)發(fā)、亭湖網(wǎng)絡(luò)營(yíng)銷(xiāo)、亭湖企業(yè)策劃、亭湖品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供亭湖建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.comSpringBoot的默認(rèn)日志配置
SpringBoot
開(kāi)箱即用,默認(rèn)幫你配置了日志框架,使用 Commons Logging
,但是默認(rèn)配置也提供了對(duì)常用日志的支持,如: Java Util Logging , Log4J , Log4J2 和 Logback。每種Logger都可以通過(guò)配置使用控制臺(tái)或者文件輸出日志內(nèi)容。
控制臺(tái)輸出
關(guān)于log日志,首先說(shuō)說(shuō)的5個(gè)日志級(jí)別 LEVEL: 從高到低分別是 ERROR
、 WARN
、 INFO
、 DEBUG
、 TRACE
低級(jí)別的會(huì)輸出高級(jí)別信息,高級(jí)別不會(huì)輸出低級(jí)別信息。例如:等級(jí)設(shè)為 ERROR
的話, WARN
、 INFO
、 DEBUG
的信息是不會(huì)輸出的。 在 SpringBoot 中默認(rèn)配置了 ERROR
、 WARN
和 INFO
級(jí)別的日志輸出到控制臺(tái)。 Logback中沒(méi)有 FATAL
級(jí)別,它會(huì)被當(dāng)作 ERROR
級(jí)別來(lái)處理。
我們可以通過(guò)兩種方式切換至 DEBUG 級(jí)別:
在運(yùn)行命令后加入 --debug 標(biāo)志,如: $ java -jar myapp.jar --debug
在 application.properties
中配置 debug=true ,該屬性置為true的時(shí)候,核心Logger(包含嵌入式容器、hibernate、spring)會(huì)輸出更多內(nèi)容,但是你自己應(yīng)用的日志并不會(huì)輸出為DEBUG級(jí)別。
多彩輸出
SpringBoot 從1.4.0版本開(kāi)始支持彩色日志輸出了。 如果你的終端支持ANSI,設(shè)置彩色輸出會(huì)讓日志更具可讀性。通過(guò)在 application.properties
中設(shè)置 spring.output.ansi.enabled
參數(shù)來(lái)支持。
NEVER
:禁用ANSI-colored輸出(默認(rèn)項(xiàng))
DETECT
:會(huì)檢查終端是否支持ANSI,是的話就采用彩色輸出(推薦項(xiàng))
ALWAYS
:總是使用ANSI-colored格式輸出,若終端不支持的時(shí)候,會(huì)有很多干擾信息,不推薦使用
文件輸出
SpringBoot 默認(rèn)配置只會(huì)輸出到控制臺(tái),并不會(huì)記錄到文件中,但是我們通常生產(chǎn)環(huán)境使用時(shí)都需要以文件方式記錄。
若要增加文件輸出,需要在 application.properties
中配置 logging.file
或 logging.path
屬性。
logging.file
:設(shè)置文件,可以是絕對(duì)路徑,也可以是相對(duì)路徑。如: logging.file=my.log
logging.path
:設(shè)置目錄,會(huì)在該目錄下創(chuàng)建spring.log文件,并寫(xiě)入日志內(nèi)容,如: logging.path=/var/log
日志文件會(huì)在10Mb大小的時(shí)候被截?cái)?,產(chǎn)生新的日志文件,默認(rèn)級(jí)別為:ERROR、WARN、INFO
級(jí)別控制
在 SpringBoot 中只需要在 application.properties
中進(jìn)行配置完成日志記錄的級(jí)別控制。
配置格式: logging.level.*=LEVEL
logging.level
:日志級(jí)別控制前綴, * 為包名或Logger名
LEVEL
:選項(xiàng)TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
舉例:
logging.level.com.controller=DEBUG : com.controller 包下所有class以 DEBUG
級(jí)別輸出
logging.level.root=WARN :root日志以 WARN
級(jí)別輸出
自定義日志配置
如果不想使用默認(rèn)配置,只要加入自己的日志配置文件就行了。 由于日志服務(wù)一般都在 ApplicationContext
創(chuàng)建前就初始化了,它并不是必須通過(guò) Spring
的配置文件控制。因此通過(guò)系統(tǒng)屬性和傳統(tǒng)的 Spring Boot 外部配置文件依然可以很好的支持日志控制和管理。
根據(jù)不同的日志系統(tǒng),你可以按如下規(guī)則組織配置文件名,就能被正確加載:
Logback: logback-spring.xml , logback-spring.groovy , logback.xml , logback.groovy
Log4j: log4j-spring.properties , log4j-spring.xml , log4j.properties , log4j.xml
Log4j2: log4j2-spring.xml , log4j2.xml
JDK (Java Util Logging): logging.properties
SpringBoot 官方推薦優(yōu)先使用帶有 -spring
的文件名作為你的日志配置(如使用 logback-spring.xml ,而不是 logback.xml )
自定義輸出格式
在 SpringBoot 中可以通過(guò)在 application.properties
配置如下參數(shù)控制輸出格式:
logging.pattern.console
:定義輸出到控制臺(tái)的樣式(不支持JDK Logger)
logging.pattern.file
:定義輸出到文件的樣式(不支持JDK Logger)
也可以直接在日志配置文件中定義這些格式,而不是在應(yīng)用配置文件中。
常用的Logback配置文件模板
springboot是什么${CONSOLE_LOG_PATTERN} utf8 ${LOG_HOME}/mixedSys.%d{yyyy-MM-dd}.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
springboot一種全新的編程規(guī)范,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,SpringBoot也是一個(gè)服務(wù)于框架的框架,服務(wù)范圍是簡(jiǎn)化配置文件。
看完上述內(nèi)容,你們對(duì)如何在SpringBoot中使用Logback管理記錄日志有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。