springboot2.0?@Slf4j?log?彩色日志配置輸出到文件
今天做了個(gè)日志記錄:
解決問(wèn)題:
使用了springboot原生自帶的一個(gè)log框架
POM添加一個(gè)插件(不然使用不了@Slf4j注解):
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>然后就是添加一個(gè)lombok插件 (我使用的是IDEA, 其他的IDA可以自行搜索安裝方法)
直接按快捷鍵Ctrl+Alt+s彈出Settings界面


因?yàn)槲业囊呀?jīng)安裝了 如果沒(méi)有安裝的話右邊會(huì)出現(xiàn)一個(gè)Install綠色按鈕 點(diǎn)擊安裝即可 ,最后提示一下 安裝成功之后一定要重啟軟件
工具準(zhǔn)備好之后就是一個(gè)配置了:在項(xiàng)目中的resource下新建一個(gè)logback-spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
<contextName>logback</contextName>
<!-- 格式化輸出:%date表示日期,%thread表示線程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度 %msg:日志消息,%n是換行符-->
<property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<!-- 定義日志存儲(chǔ)的路徑,不要配置相對(duì)路徑 -->
<property name="FILE_PATH" value="D:/Desktop/log/spring-log.%d{yyyy-MM-dd}.%i.log" />
<!-- 控制臺(tái)輸出日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志級(jí)別過(guò)濾INFO以下 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<!-- 按照上面配置的LOG_PATTERN來(lái)打印日志 -->
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--每天生成一個(gè)日志文件,保存30天的日志文件。rollingFile用來(lái)切分文件的 -->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${FILE_PATH}</fileNamePattern>
<!-- keep 15 days' worth of history -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件的最大大小 -->
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- 超出刪除老文件 -->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- project default level -->
<logger name="net.sh.rgface.serive" level="ERROR" />
<!-- 日志輸出級(jí)別 -->
<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="rollingFile" />
</root>
</configuration>配置文件有很豐富的擴(kuò)展,有興趣可以搜索一下
配置完成之后差不就可以了
最后就是使用:
在使用的類上方添加@Slf4j注解,在使用時(shí)log.info()、log.error()、log.warn()等
運(yùn)行項(xiàng)目之后會(huì)發(fā)現(xiàn)之前的日志打印在控制臺(tái)上的是彩色,現(xiàn)在的都是白色了:其實(shí)也很好理解,因?yàn)榕渲梦募厦孑敵龅募?jí)別是INFO,就是說(shuō)在INFO以上的都會(huì)被打印,就像是System.out.print()輸出一樣,輸出的都是白色的。如果需要彩色日志的話可以修改一下logback-spring.xml文件,在<contextName>logback</contextName>下添加:
<!-- 彩色日志 -->
<!-- 彩色日志依賴的渲染類 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>注意紅色部分
CONSOLE_LOG_PATTERN
修改為:注意修改的位置紅色部分
<!-- 控制臺(tái)輸出日志 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志級(jí)別過(guò)濾INFO以下 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<!-- 按照上面配置的LOG_PATTERN來(lái)打印日志 -->
<pattern>${LOG_PATTERN}</pattern> //替換為${CONSOLE_LOG_PATTERN}
</encoder>
</appender>在運(yùn)行控制臺(tái)上沒(méi)有錯(cuò)就會(huì)出現(xiàn)彩色日志了
注:有問(wèn)題可以評(píng)論哦 我看到就會(huì)回復(fù),有錯(cuò)誤希望指出 謝謝
到此這篇關(guān)于springboot2.0 @Slf4j log 日志配置 輸出到文件 彩色日志的文章就介紹到這了,更多相關(guān)springboot2.0 @Slf4j log 彩色日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA之啟動(dòng)參數(shù),配置文件默認(rèn)參數(shù)的操作
這篇文章主要介紹了IDEA之啟動(dòng)參數(shù),配置文件默認(rèn)參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
java使用TimerTask定時(shí)器獲取指定網(wǎng)絡(luò)數(shù)據(jù)
java.util.Timer定時(shí)器,實(shí)際上是個(gè)線程,定時(shí)調(diào)度所擁有的TimerTasks。一個(gè)TimerTask實(shí)際上就是一個(gè)擁有run方法的類,需要定時(shí)執(zhí)行的代碼放到run方法體內(nèi),TimerTask一般是以匿名類的方式創(chuàng)建,下面的就用示例來(lái)學(xué)習(xí)他的使用方法2014-01-01
Java虛擬機(jī)JVM優(yōu)化實(shí)戰(zhàn)的過(guò)程全記錄
有人說(shuō)Java之所以能夠崛起,JVM功不可沒(méi)。Java虛擬機(jī)最初服務(wù)于讓Java語(yǔ)言凌駕于平臺(tái)之上,實(shí)現(xiàn)“編寫(xiě)一次,到處運(yùn)行”,那么下面這篇文章主要給大家分享了個(gè)關(guān)于Java虛擬機(jī)JVM優(yōu)化實(shí)戰(zhàn)的過(guò)程全記錄,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處
這篇文章主要介紹了SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處理類失效原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴jar包)
這篇文章主要介紹了Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴jar包) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
java接口中的代理設(shè)計(jì)模式代碼時(shí)實(shí)踐
這篇文章主要介紹了java接口中的代理設(shè)計(jì)模式代碼時(shí)實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
SpringBoot如何使用自定義注解實(shí)現(xiàn)接口限流
這篇文章主要介紹了SpringBoot如何使用自定義注解實(shí)現(xiàn)接口限流,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

