logback-spring.xml的內容格式詳解
一、logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="10 seconds" > <!-- <statusListener> 標簽用于指定日志記錄器的狀態(tài)監(jiān)聽器。 --> <!-- NopStatusListener 是一個空操作的監(jiān)聽器,它不會進行任何操作,僅僅是為了占位,避免了配置文件中沒有狀態(tài)監(jiān)聽器而出現(xiàn)的錯誤。--> <statusListener class = "ch.qos.logback.core.status.NopStatusListener"/> <contextName>loback</contextName> <property name="log.path" value="./ieconfiglog/nmys" /> <!-- 輸出到控制臺--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <!-- 此日志appender是開發(fā)使用,只配置最低級別,控制臺輸出的日志級別是大于或等于此級別的日志信息 --> <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> <!-- 輸出到文件 --> <!-- 時間滾動輸出 level為 ERROR 日志 --> <!-- 該 appender 的 class 屬性指定了 Logback 中的 RollingFileAppender 類,表示使用該類來將日志記錄到文件并做日志滾動。 --> <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> <!-- 設置字符集 --> </encoder> <!-- 日志記錄器的滾動策略,按日志,按大小記錄 --> <!-- TimeBasedRollingPolicy 類作為日志滾動策略,表示按時間滾動日志文件 --> <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級別的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>error</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時間滾動輸出 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> <!-- 設置字符集 --> </encoder> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <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級別的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>debug</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 時間滾動輸出 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> <!-- 日志記錄器的滾動策略,按日期,按大小記錄 --> <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級別的 --> <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 中的三種日志文件類型,分別用于記錄不同級別的日志信息。
ERROR_FILE:該類型的日志文件用于記錄 ERROR 級別的日志信息,即只記錄應用程序中出現(xià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 級別的日志信息,即記錄應用程序中詳細的調試信息,例如調用方法、變量值等。通常用于開發(fā)和測試環(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 級別的日志信息,即一些重要的業(yè)務信息或應用程序運行狀態(tài)的變化信息,例如啟動和關閉應用程序、連接數(shù)據(jù)庫等。例如:
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
到此這篇關于logback-spring.xml的內容格式的文章就介紹到這了,更多相關logback-spring.xml內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了
今天小編就為大家分享一篇關于IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10spring?參數(shù)校驗Validation示例詳解
Spring提供了Validation工具類來實現(xiàn)對客戶端傳來的請求參數(shù)的有效校驗,本文給大家介紹spring?參數(shù)校驗Validation示例詳解,感興趣的朋友一起看看吧2024-12-12SpringBoot中的@CacheEvict 注解的實現(xiàn)
本文主要介紹了SpringBoot中的@CacheEvict注解的實現(xiàn),@CacheEvict 注解用于清空緩存,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2024-03-03spring注解如何為bean指定InitMethod和DestroyMethod
這篇文章主要介紹了spring注解如何為bean指定InitMethod和DestroyMethod,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11