欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot如何根據(jù)不同的日志級(jí)別顯示不同的顏色

 更新時(shí)間:2023年08月28日 15:32:27   作者:海中源  
這篇文章主要介紹了springboot如何根據(jù)不同的日志級(jí)別顯示不同的顏色問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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">-->
    <!--&lt;!&ndash;<File>${LOG_PATH}/innovation-info.log</File> &lt;!&ndash; 日志名稱 &ndash;&gt;&ndash;&gt;-->
    <!--<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">-->
    <!--&lt;!&ndash;<File>${LOG_PATH}/innovation-debug.log</File>&ndash;&gt;-->
    <!--<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>-->
    <!--&lt;!&ndash;<File>${LOG_PATH}/innovation-error.log</File>&ndash;&gt;-->
    <!--<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)方法

    這篇文章主要介紹了IDEA 自定義方法注解模板的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java連接SQL?Server數(shù)據(jù)庫圖文教程(自用)

    java連接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
  • 利用github搭建個(gè)人maven倉庫的方法步驟

    利用github搭建個(gè)人maven倉庫的方法步驟

    這篇文章主要介紹了利用github搭建個(gè)人maven倉庫的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 使用vscode搭建javaweb項(xiàng)目的詳細(xì)步驟

    使用vscode搭建javaweb項(xiàng)目的詳細(xì)步驟

    我個(gè)人是很喜歡VsCode的,開源免費(fèi)、功能全面,所以為了方便,我把我?guī)缀跛械倪\(yùn)行都集成到了VsCode上來,JavaWeb也不例外,下面這篇文章主要給大家介紹了關(guān)于使用vscode搭建javaweb項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • springboot獲取真實(shí)ip地址的方法實(shí)例

    springboot獲取真實(shí)ip地址的方法實(shí)例

    在使用springboot時(shí),需要獲取訪問客戶端的IP地址,所以下面這篇文章主要給大家介紹了關(guān)于springboot獲取真實(shí)ip地址的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • java字符串所有操作方法匯總

    java字符串所有操作方法匯總

    這篇文章主要介紹了java字符串所有操作方法匯總,需要的朋友可以參考下,在實(shí)際的編程中,我們經(jīng)常需要對(duì)字符串進(jìn)行各種操作,例如連接、截取、替換等,本文將按類別介紹一些Java字符串的常用方法,幫助讀者更好地理解和使用
    2023-11-11
  • SpringBoot集成I18n國(guó)際化文件在jar包外生效問題

    SpringBoot集成I18n國(guó)際化文件在jar包外生效問題

    這篇文章主要介紹了SpringBoot集成I18n國(guó)際化文件在jar包外生效問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法

    Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法

    這篇文章主要介紹了Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • 使用Java實(shí)現(xiàn)5種負(fù)載均衡算法實(shí)例

    使用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-09
  • Java線程池ThreadPoolExecutor的使用及其原理詳細(xì)解讀

    Java線程池ThreadPoolExecutor的使用及其原理詳細(xì)解讀

    這篇文章主要介紹了Java線程池ThreadPoolExecutor的使用及其原理詳細(xì)解讀,線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動(dòng)啟動(dòng)這些任務(wù),線程池線程都是后臺(tái)線程,需要的朋友可以參考下
    2023-12-12

最新評(píng)論