logback-spring.xml的內(nèi)容格式詳解
一、logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="10 seconds" > <!-- <statusListener> 標(biāo)簽用于指定日志記錄器的狀態(tài)監(jiān)聽(tīng)器。 --> <!-- NopStatusListener 是一個(gè)空操作的監(jiān)聽(tīng)器,它不會(huì)進(jìn)行任何操作,僅僅是為了占位,避免了配置文件中沒(méi)有狀態(tài)監(jiān)聽(tīng)器而出現(xiàn)的錯(cuò)誤。--> <statusListener class = "ch.qos.logback.core.status.NopStatusListener"/> <contextName>loback</contextName> <property name="log.path" value="./ieconfiglog/nmys" /> <!-- 輸出到控制臺(tái)--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <!-- 此日志appender是開(kāi)發(fā)使用,只配置最低級(jí)別,控制臺(tái)輸出的日志級(jí)別是大于或等于此級(jí)別的日志信息 --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>info</level> </filter> <encoder> <Pattern> %-5p [%d][%mdc{mdc_accNo}] %C:%L - %m %n</Pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 輸出到文件 --> <!-- 時(shí)間滾動(dòng)輸出 level為 ERROR 日志 --> <!-- 該 appender 的 class 屬性指定了 Logback 中的 RollingFileAppender 類,表示使用該類來(lái)將日志記錄到文件并做日志滾動(dòng)。 --> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_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)策略,按日志,按大小記錄 --> <!-- TimeBasedRollingPolicy 類作為日志滾動(dòng)策略,表示按時(shí)間滾動(dòng)日志文件 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志歸檔 --> <fileNamePattern>${log.path}/error/log-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> <!-- 時(shí)間滾動(dòng)輸出 level 為 DEBUG 日志 --> <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_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)策略,按日期,按大小記錄 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志歸檔 --> <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log </fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天數(shù) --> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只記錄debug級(jí)別的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>debug</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時(shí)間滾動(dòng)輸出 level為 INFO 日志 --> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在記錄的日志文件的路徑及文件名 --> <file>${log.path}/log_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>${log.path}/info/log-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> <root level="info"> <appender-ref ref="INFO_FILE" /> <appender-ref ref="CONSOLE" /> </root> <logger name="com/example/ie" level="ERROR"> <appender-ref ref="ERROR_FILE"/> </logger> <logger name="com/example/ie" level="DEBUG"> <appender-ref ref="DEBUG_FILE"/> </logger> <logger name="com.mysql.jdbc" level="DEBUG"> <appender-ref ref="DEBUG_FILE"/> </logger> </configuration>
二、Logback 中的三種日志文件類型
ERROR_FILE
、DEBUG_FILE
和 INFO_FILE
是 Logback 中的三種日志文件類型,分別用于記錄不同級(jí)別的日志信息。
ERROR_FILE:該類型的日志文件用于記錄 ERROR 級(jí)別的日志信息,即只記錄應(yīng)用程序中出現(xiàn)的錯(cuò)誤和異常相關(guān)的日志信息。例如:
2021-08-31 15:43:56,857 [main] ERROR com.example.MyApplication - Something went wrong: java.lang.NullPointerException
at com.example.MyApplication.run(MyApplication.java:25)
at com.example.MyApplication.main(MyApplication.java:11)
DEBUG_FILE:該類型的日志文件用于記錄 DEBUG 級(jí)別的日志信息,即記錄應(yīng)用程序中詳細(xì)的調(diào)試信息,例如調(diào)用方法、變量值等。通常用于開(kāi)發(fā)和測(cè)試環(huán)境中。例如:
2021-08-31 15:43:56,857 [main] DEBUG com.example.MyController - Request received: GET /api/v1/users?page=1&pageSize=10
2021-08-31 15:43:56,857 [main] DEBUG com.example.MyService - Retrieving users from database...
2021-08-31 15:43:56,857 [main] DEBUG com.example.MyService - Found 8 users in database
2021-08-31 15:43:56,857 [main] DEBUG com.example.MyController - Response sent: [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"},...]
INFO_FILE:該類型的日志文件用于記錄 INFO 級(jí)別的日志信息,即一些重要的業(yè)務(wù)信息或應(yīng)用程序運(yùn)行狀態(tài)的變化信息,例如啟動(dòng)和關(guān)閉應(yīng)用程序、連接數(shù)據(jù)庫(kù)等。例如:
2021-08-31 15:43:56,857 [main] INFO com.example.MyApplication - Starting application...
2021-08-31 15:43:57,205 [main] INFO com.example.MyApplication - Application started successfully
2021-08-31 15:44:07,876 [main] INFO com.example.MyService - Connecting to database: jdbc:postgresql://localhost:5432/mydb
2021-08-31 15:44:08,229 [main] INFO com.example.MyService - Connected to database successfully
到此這篇關(guān)于logback-spring.xml的內(nèi)容格式的文章就介紹到這了,更多相關(guān)logback-spring.xml內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10spring?參數(shù)校驗(yàn)Validation示例詳解
Spring提供了Validation工具類來(lái)實(shí)現(xiàn)對(duì)客戶端傳來(lái)的請(qǐng)求參數(shù)的有效校驗(yàn),本文給大家介紹spring?參數(shù)校驗(yàn)Validation示例詳解,感興趣的朋友一起看看吧2024-12-12三道java新手入門(mén)面試題,通往自由的道路--多線程
這篇文章主要為大家分享了最有價(jià)值的3道多線程面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,對(duì)hashCode方法的設(shè)計(jì)、垃圾收集的堆和代進(jìn)行剖析,感興趣的小伙伴們可以參考一下2021-07-07SpringBoot中的@CacheEvict 注解的實(shí)現(xiàn)
本文主要介紹了SpringBoot中的@CacheEvict注解的實(shí)現(xiàn),@CacheEvict 注解用于清空緩存,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03spring注解如何為bean指定InitMethod和DestroyMethod
這篇文章主要介紹了spring注解如何為bean指定InitMethod和DestroyMethod,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11