springboot如何根據(jù)不同的日志級別顯示不同的顏色
springboot根據(jù)不同的日志級別顯示不同的顏色
logback配置
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <!--設置重要--> <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中日志的簡單使用
日志基礎
日志的作用
1.編程期間調(diào)試代碼
2.運營期記錄信息
- 1)記錄日常運營的重要信息(峰值流量,平均響應時常。。。)
- 2)記錄應用報錯信息
- 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:程序未按預期運行時使用,但并不是錯誤,如:用戶登錄密碼錯誤
- ERROR:程序出錯誤時使用,如:IO操作失敗
- CRITICAL:特別嚴重的問題,導致程序不能再繼續(xù)運行時使用,如:磁盤空間為空,一般很少使 用
默認的是WARNING等級,當在WARNING或WARNING之上等級的才記錄日志信息。
日志等級從低到高的順序是: DEBUG < INFO < WARNING < ERROR < CRITICAL
日志控制
日志只會顯示等級大于等于當前級別的日志信息
在Springboot啟動時默認使用的時INFO級別的日志,所以并不會顯示DEBUG級別的日志
調(diào)低級別的方式
1 方式一 直接在Springboot配置文件中設置 debug : true 則開啟DEBUG級別
2.方式二
這樣即可設置根路徑下日志級別為debug
設置某個包的日志級別
這個帶表整個項目是debug級別的日志 這個包下是info級別的日志 但這樣設置特別麻煩所以可以設置分組
設置分組給每一組設置不同的日志級別
小結
1.日志用于記錄開發(fā)調(diào)試與運維過程消息
2.日志的級別通常使用的是四種 分別是DEBUG INFO WARN ERROR
3.可以通過日志組或代碼包的形式進行日志級別的控制
日志輸出格式控制
日志默認格式
PID : 進程ID,用于表明當前操作所處線程,當多服務同時記錄日志時,該值可用于協(xié)助程序員調(diào)試程序
所屬類/接口名 : 當前顯示信息為Springboot重寫后的信息,名稱過長時,簡化包名書寫為首字母,甚至直接刪除
設置日志輸出格式
- 其中%d 為日期
- %m為消息
- %n為換行
- %p 級別
- %t 為線程名 %16t 則線程名占16位
- %clr 是添加顏色
例如 %clr(%m) 則日志消息帶有顏色
記錄日志到文件
默認記錄到你當前項目下的文件中
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java連接SQL?Server數(shù)據(jù)庫圖文教程(自用)
在Java應用程序中,我們經(jīng)常需要與數(shù)據(jù)庫進行交互,下面這篇文章主要給大家介紹了關于java連接SQL?Server數(shù)據(jù)庫的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06SpringBoot集成I18n國際化文件在jar包外生效問題
這篇文章主要介紹了SpringBoot集成I18n國際化文件在jar包外生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Mybatis返回int或者Integer類型報錯的解決辦法
這篇文章主要介紹了Mybatis返回int或者Integer類型報錯的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12Java線程池ThreadPoolExecutor的使用及其原理詳細解讀
這篇文章主要介紹了Java線程池ThreadPoolExecutor的使用及其原理詳細解讀,線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然后在創(chuàng)建線程后自動啟動這些任務,線程池線程都是后臺線程,需要的朋友可以參考下2023-12-12