springboot如何根據(jù)不同的日志級(jí)別顯示不同的顏色
springboot根據(jù)不同的日志級(jí)別顯示不同的顏色
logback配置
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <!--設(shè)置重要--> <property name="CONSOLE_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <pattern>${CONSOLE_LOG_PATTERN}</pattern> </encoder> </appender> <!-- 每天生成日志文件,文件大小超過50則新生成一個(gè)文件, 同時(shí)將舊文件按${LOG_PATH}/info-%d{yyyyMMdd}.log.%i.zip格式壓縮,文件保存30天 --> <!--<appender name="INFO_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<!–<File>${LOG_PATH}/innovation-info.log</File> <!– 日志名稱 –>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-info-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <!--<appender name="DEBUG_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<!–<File>${LOG_PATH}/innovation-debug.log</File>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-debug-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <!--<appender name="ERROR_FILE"--> <!--class="ch.qos.logback.core.rolling.RollingFileAppender">--> <!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">--> <!--<level>ERROR</level>--> <!--</filter>--> <!--<!–<File>${LOG_PATH}/innovation-error.log</File>–>--> <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--> <!--<fileNamePattern>${LOG_PATH}/innovation-error-%d{yyyy-MM-dd}.%i.log--> <!--</fileNamePattern>--> <!--<timeBasedFileNamingAndTriggeringPolicy--> <!--class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">--> <!--<maxFileSize>50MB</maxFileSize>--> <!--</timeBasedFileNamingAndTriggeringPolicy>--> <!--<maxHistory>30</maxHistory>--> <!--</rollingPolicy>--> <!--<layout class="ch.qos.logback.classic.PatternLayout">--> <!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}--> <!-- -%msg%n--> <!--</Pattern>--> <!--</layout>--> <!--</appender>--> <root level="INFO"> <appender-ref ref="CONSOLE"/> <!--<appender-ref ref="INFO_FILE"/>--> <!--<appender-ref ref="ERROR_FILE"/>--> <!--<appender-ref ref="DEBUG_FILE"/>--> </root>
application.yml配置
#配置logback配置文件位置 logging: config: classpath:spring-logback.xml level: com: wx: tourism: debug org: springframework: info hibernate: debug # path: "c:/tourism/logs"
springboot中日志的簡(jiǎn)單使用
日志基礎(chǔ)
日志的作用
1.編程期間調(diào)試代碼
2.運(yùn)營(yíng)期記錄信息
- 1)記錄日常運(yùn)營(yíng)的重要信息(峰值流量,平均響應(yīng)時(shí)常。。。)
- 2)記錄應(yīng)用報(bào)錯(cuò)信息
- 3)記錄運(yùn)維過程數(shù)據(jù)(擴(kuò)容,報(bào)警。。。。。)
日志的使用
1.創(chuàng)建記錄日志的對(duì)象
private static final Logger log = LoggerFactory.getLogger(StudentController.class);
注意不要引錯(cuò)包了
2使用lombok 提供的 @Slf4j簡(jiǎn)化開發(fā),減少日志對(duì)象的聲明操作
日志的級(jí)別
日志等級(jí)可以分為5個(gè),從低到高分別是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
日志等級(jí)說明
- DEBUG:程序調(diào)試bug時(shí)使用
- INFO:程序正常運(yùn)行時(shí)使用
- WARNING:程序未按預(yù)期運(yùn)行時(shí)使用,但并不是錯(cuò)誤,如:用戶登錄密碼錯(cuò)誤
- ERROR:程序出錯(cuò)誤時(shí)使用,如:IO操作失敗
- CRITICAL:特別嚴(yán)重的問題,導(dǎo)致程序不能再繼續(xù)運(yùn)行時(shí)使用,如:磁盤空間為空,一般很少使 用
默認(rèn)的是WARNING等級(jí),當(dāng)在WARNING或WARNING之上等級(jí)的才記錄日志信息。
日志等級(jí)從低到高的順序是: DEBUG < INFO < WARNING < ERROR < CRITICAL
日志控制
日志只會(huì)顯示等級(jí)大于等于當(dāng)前級(jí)別的日志信息
在Springboot啟動(dòng)時(shí)默認(rèn)使用的時(shí)INFO級(jí)別的日志,所以并不會(huì)顯示DEBUG級(jí)別的日志
調(diào)低級(jí)別的方式
1 方式一 直接在Springboot配置文件中設(shè)置 debug : true 則開啟DEBUG級(jí)別
2.方式二
這樣即可設(shè)置根路徑下日志級(jí)別為debug
設(shè)置某個(gè)包的日志級(jí)別
這個(gè)帶表整個(gè)項(xiàng)目是debug級(jí)別的日志 這個(gè)包下是info級(jí)別的日志 但這樣設(shè)置特別麻煩所以可以設(shè)置分組
設(shè)置分組給每一組設(shè)置不同的日志級(jí)別
小結(jié)
1.日志用于記錄開發(fā)調(diào)試與運(yùn)維過程消息
2.日志的級(jí)別通常使用的是四種 分別是DEBUG INFO WARN ERROR
3.可以通過日志組或代碼包的形式進(jìn)行日志級(jí)別的控制
日志輸出格式控制
日志默認(rèn)格式
PID : 進(jìn)程ID,用于表明當(dāng)前操作所處線程,當(dāng)多服務(wù)同時(shí)記錄日志時(shí),該值可用于協(xié)助程序員調(diào)試程序
所屬類/接口名 : 當(dāng)前顯示信息為Springboot重寫后的信息,名稱過長(zhǎng)時(shí),簡(jiǎn)化包名書寫為首字母,甚至直接刪除
設(shè)置日志輸出格式
- 其中%d 為日期
- %m為消息
- %n為換行
- %p 級(jí)別
- %t 為線程名 %16t 則線程名占16位
- %clr 是添加顏色
例如 %clr(%m) 則日志消息帶有顏色
記錄日志到文件
默認(rèn)記錄到你當(dāng)前項(xiàng)目下的文件中
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA 自定義方法注解模板的實(shí)現(xiàn)方法
這篇文章主要介紹了IDEA 自定義方法注解模板的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09java連接SQL?Server數(shù)據(jù)庫圖文教程(自用)
在Java應(yīng)用程序中,我們經(jīng)常需要與數(shù)據(jù)庫進(jìn)行交互,下面這篇文章主要給大家介紹了關(guān)于java連接SQL?Server數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06使用vscode搭建javaweb項(xiàng)目的詳細(xì)步驟
我個(gè)人是很喜歡VsCode的,開源免費(fèi)、功能全面,所以為了方便,我把我?guī)缀跛械倪\(yùn)行都集成到了VsCode上來,JavaWeb也不例外,下面這篇文章主要給大家介紹了關(guān)于使用vscode搭建javaweb項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-11-11springboot獲取真實(shí)ip地址的方法實(shí)例
在使用springboot時(shí),需要獲取訪問客戶端的IP地址,所以下面這篇文章主要給大家介紹了關(guān)于springboot獲取真實(shí)ip地址的相關(guān)資料,需要的朋友可以參考下2022-06-06SpringBoot集成I18n國(guó)際化文件在jar包外生效問題
這篇文章主要介紹了SpringBoot集成I18n國(guó)際化文件在jar包外生效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法
這篇文章主要介紹了Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12使用Java實(shí)現(xiàn)5種負(fù)載均衡算法實(shí)例
負(fù)載均衡指由多臺(tái)服務(wù)器以對(duì)稱的方式組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對(duì)外提供服務(wù)而無須其他服務(wù)器的輔助,這篇文章主要給大家介紹了關(guān)于使用Java實(shí)現(xiàn)5種負(fù)載均衡算法的相關(guān)資料,需要的朋友可以參考下2021-09-09Java線程池ThreadPoolExecutor的使用及其原理詳細(xì)解讀
這篇文章主要介紹了Java線程池ThreadPoolExecutor的使用及其原理詳細(xì)解讀,線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動(dòng)啟動(dòng)這些任務(wù),線程池線程都是后臺(tái)線程,需要的朋友可以參考下2023-12-12