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

logback-spring.xml的配置及示例詳解(直接復(fù)制粘貼可用)

 更新時(shí)間:2024年01月15日 10:20:41   作者:墨momo  
在使用logback作為日志框架時(shí),可以創(chuàng)建一個(gè)名為logback-spring.xml的配置文件來(lái)自定義日志輸出的格式和方式,下面這篇文章主要給大家介紹了關(guān)于logback-spring.xml的配置及示例詳解的相關(guān)資料,文中的代碼直接復(fù)制粘貼可用,需要的朋友可以參考下

一、注意實(shí)現(xiàn)

logback-spring.xml 中有三處需要根據(jù)實(shí)際業(yè)務(wù)進(jìn)行修改,直接查找“(根據(jù)業(yè)務(wù)修改)”即可進(jìn)行定位。

如果不想修改,直接復(fù)制粘貼到自己系統(tǒng)運(yùn)行也可以,不會(huì)報(bào)錯(cuò)。

二、配置及詳解

  • application.yml 配置

    #日志配置
    logging:
      config: classpath:logback-spring.xml
    
  • logback-spring.xml 配置

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="10 seconds">
        <!-- logger上下文名稱(根據(jù)業(yè)務(wù)修改) -->
        <contextName>MyContextName</contextName>
        
        <!-- 定義了一個(gè)名為serverName的屬性,它的值來(lái)自于logging.file.name,如果沒(méi)有找到該屬性默認(rèn)為MyServerName(根據(jù)業(yè)務(wù)修改) -->
        <springProperty name="serverName" source="logging.file.name" defaultValue="MyServerName"/>
        <springProperty name="logging.path" source="logging.file.path" defaultValue="././logs/"/>
        
        <!-- 彩色日志依賴的渲染類 -->
        <!-- 定義了一個(gè)名為clr的轉(zhuǎn)換規(guī)則,它使用org.springframework.boot.logging.logback.ColorConverter類進(jìn)行轉(zhuǎn)換,這個(gè)元素通常用于將日志輸出中的文本著色,以便更容易地區(qū)分不同的日志級(jí)別或其他信息 -->
        <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
        <!-- WhitespaceThrowableProxyConverter和ExtendedWhitespaceThrowableProxyConverter都是用于將異常信息轉(zhuǎn)換為字符串,并將其中的換行符替換為空格,以便更容易地在日志輸出中顯示的類。它們之間的區(qū)別在于,ExtendedWhitespaceThrowableProxyConverter在輸出異常信息時(shí)會(huì)包含更多的詳細(xì)信息,例如異常的類名、方法名和行號(hào)等 -->
        <!-- 定義了一個(gè)名為wex的轉(zhuǎn)換規(guī)則,它使用org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter類進(jìn)行轉(zhuǎn)換,這個(gè)元素通常用于將異常信息轉(zhuǎn)換為字符串,并將其中的換行符替換為空格,以便更容易地在日志輸出中顯示 -->
        <conversionRule conversionWord="wex"
                        converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
        <!-- 定義了一個(gè)名為wEx的轉(zhuǎn)換規(guī)則,它使用org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter類進(jìn)行轉(zhuǎn)換,這個(gè)元素通常用于將異常信息轉(zhuǎn)換為字符串,并將其中的換行符替換為空格,以便更容易地在日志輸出中顯示 -->
        <conversionRule conversionWord="wEx"
                        converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
        
        <!-- 彩色日志格式 -->
        <!-- value值是日志輸出模板, :-是屬性名和其默認(rèn)值之間的分隔符,作用與:相同 -->
        <!-- 定義日志輸出格式的轉(zhuǎn)換規(guī)則,%d{yyyy-MM-dd HH:mm:ss.SSS}表示日期和時(shí)間,%clr表示將輸出文本著色,{faint}表示使用淡色 -->
        <!-- %5p表示日志級(jí)別輸出右對(duì)齊,左邊以空格填充 -->
        <!-- ${PID:- }表示進(jìn)程ID,%clr表示將輸出文本著色,{magenta}表示使用洋紅色 -->
        <!-- ---表示一個(gè)分隔符 -->
        <!-- %t:顯示產(chǎn)生該日志的線程名;%15:若字符長(zhǎng)度小于15,則左邊用空格填充;%.15:若字符長(zhǎng)度超過(guò)15,截去多余字符 -->
    	<!-- %-40:若字符長(zhǎng)度小于40,則右邊用空格填充;%.40:若字符長(zhǎng)度超過(guò)40,截去多余字符;logger{39}對(duì)應(yīng)的是“l(fā)ogging.WARNING”級(jí)別。具體來(lái)說(shuō),Python的logging模塊定義了以下幾個(gè)級(jí)別(從低到高):NOTSET、DEBUG、INFO、WARNING、ERROR、CRITICAL。因此,logger{39}表示的是WARNING級(jí)別,即日志記錄器會(huì)記錄所有WARNING級(jí)別及以上的日志信息 -->
        <!-- %m表示日志消息;%n表示換行符;${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}表示異常信息。如果日志輸出中包含異常信息,這個(gè)規(guī)則將會(huì)將其轉(zhuǎn)換為字符串,并將其中的換行符替換為空格,以便更容易地在日志輸出中顯示 -->
        <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}}"/>
        
        <!--1. 輸出到控制臺(tái)-->
        <!-- 定義控制臺(tái)日志輸出的appender,class="ch.qos.logback.core.ConsoleAppender"表示使用Logback框架提供的ConsoleAppender類來(lái)輸出日志到控制臺(tái) -->
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <!--此日志appender是為開(kāi)發(fā)使用,只配置最底級(jí)別,控制臺(tái)輸出的日志級(jí)別是大于或等于此級(jí)別的日志信息-->
            <!-- 定義日志輸出級(jí)別的過(guò)濾器,class="ch.qos.logback.classic.filter.ThresholdFilter"表示使用Logback框架提供的ThresholdFilter類來(lái)過(guò)濾日志輸出,<level>debug</level>表示只輸出debug級(jí)別及以上的日志 -->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter>
            <encoder>
                <!-- ${CONSOLE_LOG_PATTERN}表示控制臺(tái)日志輸出格式,UTF-8表示編碼格式 -->
                <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
                <!-- 設(shè)置字符集 -->
                <charset>UTF-8</charset>
            </encoder>
        </appender>
        <!--2. 輸出到文檔-->
        <!-- 2.1 level為 DEBUG 日志,時(shí)間滾動(dòng)輸出  -->
        <!-- 定義文件日志輸出的appender,class="ch.qos.logback.core.rolling.RollingFileAppender"表示使用Logback框架提供的RollingFileAppender類來(lái)輸出日志到文件 -->
        <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在記錄的日志文檔的路徑及文檔名 -->
            <file>${logging.path}/web_debug.log</file>
            <!--日志文檔輸出格式-->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
                <charset>UTF-8</charset> <!-- 設(shè)置字符集 -->
            </encoder>
            <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
            <!-- 定義日志文件滾動(dòng)策略的標(biāo)簽,class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"表示使用Logback框架提供的TimeBasedRollingPolicy類來(lái)定義日志文件的滾動(dòng)策略 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 日志歸檔 -->
                <!-- 定義日志文件名的模式。在這個(gè)模式中,${logging.path}表示日志文件的路徑,%d{yyyy-MM-dd}表示日期格式,%i表示文件索引 -->
                <fileNamePattern>${logging.path}/web-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!-- 定義日志文件滾動(dòng)策略的標(biāo)簽,class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"表示使用Logback框架提供的SizeAndTimeBasedFNATP類來(lái)定義日志文件的滾動(dòng)策略,<maxFileSize>100MB</maxFileSize>表示日志文件的最大大小為100MB。這個(gè)滾動(dòng)策略通常用于按照時(shí)間和文件大小滾動(dòng)日志文件,以便更好地管理日志文件的大小和數(shù)量 -->
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>100MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <!--日志文檔保留天數(shù)-->
                <maxHistory>15</maxHistory>
            </rollingPolicy>
            <!-- 此日志文檔只記錄debug級(jí)別的 -->
            <!-- 定義日志輸出級(jí)別的過(guò)濾器。在這個(gè)過(guò)濾器中,class="ch.qos.logback.classic.filter.LevelFilter"表示使用Logback框架提供的LevelFilter類來(lái)過(guò)濾日志輸出,<level>debug</level>表示只輸出debug級(jí)別及以上的日志 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>debug</level>
                <!-- <onMatch>ACCEPT</onMatch>表示如果日志事件與過(guò)濾器匹配,則接受該事件,<onMismatch>DENY</onMismatch>表示如果日志事件與過(guò)濾器不匹配,則拒絕該事件 -->
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
        <!-- 2.2 level為 INFO 日志,時(shí)間滾動(dòng)輸出  -->
        <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在記錄的日志文檔的路徑及文檔名 -->
            <file>${logging.path}/web_info.log</file>
            <!--日志文檔輸出格式-->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
                <charset>UTF-8</charset>
            </encoder>
            <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 天天日志歸檔路徑以及格式 -->
                <fileNamePattern>${logging.path}/web-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>100MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <!--日志文檔保留天數(shù)-->
                <maxHistory>15</maxHistory>
            </rollingPolicy>
            <!-- 此日志文檔只記錄info級(jí)別的 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>info</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
        <!-- 2.3 level為 WARN 日志,時(shí)間滾動(dòng)輸出  -->
        <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在記錄的日志文檔的路徑及文檔名 -->
            <file>${logging.path}/web_warn.log</file>
            <!--日志文檔輸出格式-->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
                <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
            </encoder>
            <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${logging.path}/web-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>100MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <!--日志文檔保留天數(shù)-->
                <maxHistory>15</maxHistory>
            </rollingPolicy>
            <!-- 此日志文檔只記錄warn級(jí)別的 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>warn</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
        <!-- 2.4 level為 ERROR 日志,時(shí)間滾動(dòng)輸出  -->
        <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在記錄的日志文檔的路徑及文檔名 -->
            <file>${logging.path}/web_error.log</file>
            <!--日志文檔輸出格式-->
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
                <charset>UTF-8</charset> <!-- 此處設(shè)置字符集 -->
            </encoder>
            <!-- 日志記錄器的滾動(dòng)策略,按日期,按大小記錄 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${logging.path}/web-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>100MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <!--日志文檔保留天數(shù)-->
                <maxHistory>15</maxHistory>
            </rollingPolicy>
            <!-- 此日志文檔只記錄ERROR級(jí)別的 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    <!--     4.1 開(kāi)發(fā)環(huán)境:打印控制臺(tái)-->
        <!-- 用于在Spring Boot應(yīng)用程序中配置日志記錄的標(biāo)簽。在這個(gè)標(biāo)簽中,name="dev"表示這個(gè)配置文件只在dev環(huán)境中生效,<logger name="com.myClass.controller" level="debug"/>表示為com.myClass.controller(根據(jù)業(yè)務(wù)修改)這個(gè)包下的類配置日志輸出級(jí)別為debug -->
            <springProfile name="dev">
                <logger name="com.myClass.controller" level="debug"/>
            </springProfile>
        <!-- 用于配置日志輸出的標(biāo)簽。在這個(gè)標(biāo)簽中,level="info"表示日志輸出級(jí)別為info,<appender-ref ref="CONSOLE"/>、<appender-ref ref="DEBUG_FILE"/>、<appender-ref ref="INFO_FILE"/>、<appender-ref ref="WARN_FILE"/>、<appender-ref ref="ERROR_FILE"/>表示將日志輸出到不同的appender中,分別為控制臺(tái)、debug文件、info文件、warn文件和error文件 -->
        <root level="info">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="DEBUG_FILE"/>
            <appender-ref ref="INFO_FILE"/>
            <appender-ref ref="WARN_FILE"/>
            <appender-ref ref="ERROR_FILE"/>
        </root>
    </configuration>

附:日志六個(gè)級(jí)別

1、TRACE

TRACE 在線調(diào)試: 該級(jí)別日志,默認(rèn)情況下,既不打印到終端也不輸出到文件。此時(shí),對(duì)程序運(yùn)行效率幾乎不產(chǎn)生影響。

2、DEBUG

DEBUG 終端查看、在線調(diào)試: 該級(jí)別日志,默認(rèn)情況下會(huì)打印到終端輸出,但是不會(huì)歸檔到日志文件。因此,一般用于開(kāi)發(fā)者在程序當(dāng)前啟動(dòng)窗口上,查看日志流水信息。

3、INFO

INFO 報(bào)告程序進(jìn)度和狀態(tài)信息: 一般這種信息都是一過(guò)性的,不會(huì)大量反復(fù)輸出。
例如:連接商用庫(kù)成功后,可以打印一條連庫(kù)成功的信息,便于跟蹤程序進(jìn)展信息。

4、WARNING

WARNING 警告信息: 程序處理中遇到非法數(shù)據(jù)或者某種可能的錯(cuò)誤。該錯(cuò)誤是一過(guò)性的、可恢復(fù)的,不會(huì)影響程序繼續(xù)運(yùn)行,程序仍處在正常狀態(tài)。

5、ERROR

ERROR 狀態(tài)錯(cuò)誤: 該錯(cuò)誤發(fā)生后程序仍然可以運(yùn)行,但是極有可能運(yùn)行在某種非正常的狀態(tài)下,導(dǎo)致無(wú)法完成全部既定的功能。

6、FATAL

FATAL 致命的錯(cuò)誤: 表明程序遇到了致命的錯(cuò)誤,必須馬上終止運(yùn)行。

總結(jié) 

到此這篇關(guān)于logback-spring.xml的配置及示例詳解的文章就介紹到這了,更多相關(guān)logback-spring.xml配置詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論