springboot如何根據(jù)不同的日志級別顯示不同的顏色
springboot根據(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則新生成一個文件,
同時將舊文件按${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中日志的簡單使用
日志基礎(chǔ)
日志的作用
1.編程期間調(diào)試代碼
2.運營期記錄信息
- 1)記錄日常運營的重要信息(峰值流量,平均響應(yīng)時常。。。)
- 2)記錄應(yīng)用報錯信息
- 3)記錄運維過程數(shù)據(jù)(擴容,報警。。。。。)
日志的使用
1.創(chuàng)建記錄日志的對象
private static final Logger log = LoggerFactory.getLogger(StudentController.class);
注意不要引錯包了

2使用lombok 提供的 @Slf4j簡化開發(fā),減少日志對象的聲明操作
日志的級別
日志等級可以分為5個,從低到高分別是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
日志等級說明
- DEBUG:程序調(diào)試bug時使用
- INFO:程序正常運行時使用
- WARNING:程序未按預(yù)期運行時使用,但并不是錯誤,如:用戶登錄密碼錯誤
- ERROR:程序出錯誤時使用,如:IO操作失敗
- CRITICAL:特別嚴重的問題,導(dǎo)致程序不能再繼續(xù)運行時使用,如:磁盤空間為空,一般很少使 用
默認的是WARNING等級,當(dāng)在WARNING或WARNING之上等級的才記錄日志信息。
日志等級從低到高的順序是: DEBUG < INFO < WARNING < ERROR < CRITICAL
日志控制
日志只會顯示等級大于等于當(dāng)前級別的日志信息
在Springboot啟動時默認使用的時INFO級別的日志,所以并不會顯示DEBUG級別的日志
調(diào)低級別的方式
1 方式一 直接在Springboot配置文件中設(shè)置 debug : true 則開啟DEBUG級別
2.方式二

這樣即可設(shè)置根路徑下日志級別為debug
設(shè)置某個包的日志級別

這個帶表整個項目是debug級別的日志 這個包下是info級別的日志 但這樣設(shè)置特別麻煩所以可以設(shè)置分組

設(shè)置分組給每一組設(shè)置不同的日志級別
小結(jié)
1.日志用于記錄開發(fā)調(diào)試與運維過程消息
2.日志的級別通常使用的是四種 分別是DEBUG INFO WARN ERROR
3.可以通過日志組或代碼包的形式進行日志級別的控制
日志輸出格式控制
日志默認格式

PID : 進程ID,用于表明當(dāng)前操作所處線程,當(dāng)多服務(wù)同時記錄日志時,該值可用于協(xié)助程序員調(diào)試程序
所屬類/接口名 : 當(dāng)前顯示信息為Springboot重寫后的信息,名稱過長時,簡化包名書寫為首字母,甚至直接刪除
設(shè)置日志輸出格式
- 其中%d 為日期
- %m為消息
- %n為換行
- %p 級別
- %t 為線程名 %16t 則線程名占16位
- %clr 是添加顏色
例如 %clr(%m) 則日志消息帶有顏色


記錄日志到文件

默認記錄到你當(dāng)前項目下的文件中

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java連接SQL?Server數(shù)據(jù)庫圖文教程(自用)
在Java應(yīng)用程序中,我們經(jīng)常需要與數(shù)據(jù)庫進行交互,下面這篇文章主要給大家介紹了關(guān)于java連接SQL?Server數(shù)據(jù)庫的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06
SpringBoot集成I18n國際化文件在jar包外生效問題
這篇文章主要介紹了SpringBoot集成I18n國際化文件在jar包外生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
Mybatis返回int或者Integer類型報錯的解決辦法
這篇文章主要介紹了Mybatis返回int或者Integer類型報錯的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12
Java線程池ThreadPoolExecutor的使用及其原理詳細解讀
這篇文章主要介紹了Java線程池ThreadPoolExecutor的使用及其原理詳細解讀,線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊列,然后在創(chuàng)建線程后自動啟動這些任務(wù),線程池線程都是后臺線程,需要的朋友可以參考下2023-12-12

