SpringBoot中項目如何讀取外置logback配置文件
更新時間:2022年11月25日 14:37:21 作者:enjoy囂士
這篇文章主要介紹了SpringBoot中項目如何讀取外置logback配置文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
SpringBoot讀取外置logback配置文件
直接在啟動命令中添加日志配置文件路徑
java -jar -Dlogging.config=./config/logback-spring.xml **.jar
或者在你的啟動腳本中添加這個java_opt:
-Dlogging.config=./config/logback-spring.xml
springboot logback基礎(chǔ)配置文件
控制臺打印的縮寫的日志范圍,僅供查看
文件中打印的詳細的debug范圍
如果使用需要更改 logger 中name為你項目中的包路徑地址
property
設(shè)置參數(shù)springProperty
讀取配置文件中的參數(shù)
基本版
<?xml version="1.0" encoding="UTF-8"?> <!-- ?scan: 當此屬性設(shè)置為true時,配置文件如果發(fā)生改變,將會被重新加載,默認值為true。 ?scanPeriod: 設(shè)置監(jiān)測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。 ?debug: 當此屬性設(shè)置為true時,將打印出logback內(nèi)部日志信息,實時查看logback運行狀態(tài)。默認值為false。 --> <configuration scan="true" scanPeriod="30 seconds" debug="false"> ? ? <!-- 日志輸出級別 FATAL > ERROR > WARN > INFO > DEBUG > TRACE --> ? ? <!-- http://www.51gjie.com/javaweb/1109.html--> ? ? <!-- https://www.jianshu.com/p/0cc29d3f775a--> ? ? <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> ? ? <!-- <property name="LOG_HOME" value="/d/tsl_demo/logs"/>--> ? ? <springProperty scope="context" name="LOG_HOME" source="tsl.path"/> ? ? <!--控制臺日志, 控制臺輸出 --> ? ? <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> ? ? ? ? <!-- 控制臺只輸出info級別的日志--> ? ? ? ? <filter class="ch.qos.logback.classic.filter.LevelFilter"> ? ? ? ? ? ? <level>INFO</level> ? ? ? ? ? ? <onMatch>ACCEPT</onMatch> ? ? ? ? ? ? <onMismatch>DENY</onMismatch> ? ? ? ? </filter> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ? ? ? ? ? ? <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度,%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{10} - %msg%n</pattern> ? ? ? ? ? ? <charset>utf8</charset> ? ? ? ? </encoder> ? ? </appender> ? ? <!--文件日志, 按照每天生成日志文件 --> ? ? <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> ? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ? ? ? ? ? ? <!--日志文件輸出的文件名--> ? ? ? ? ? ? <FileNamePattern>${LOG_HOME}/root-info.log.%d{yyyy-MM-dd}.log</FileNamePattern> ? ? ? ? ? ? <!--日志文件保留天數(shù)--> ? ? ? ? ? ? <MaxHistory>30</MaxHistory> ? ? ? ? </rollingPolicy> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ? ? ? ? ? ? <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> ? ? ? ? </encoder> ? ? ? ? <!--日志文件最大的大小--> ? ? ? ? <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> ? ? ? ? ? ? <MaxFileSize>20MB</MaxFileSize> ? ? ? ? </triggeringPolicy> ? ? </appender> ? ? <!-- <logger name="com.example.demo" level="INFO" additivity="false">--> ? ? <!-- <appender-ref ref="STDOUT"/>--> ? ? <!-- </logger>--> ? ? <root level="DEBUG"> ? ? ? ? <appender-ref ref="STDOUT"/> ? ? ? ? <appender-ref ref="FILE"/> ? ? </root> </configuration>
文件分割版
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="30 seconds" ?debug="false"> ? ? <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> ? ? <property name="LOG_HOME" value="/d/tsl_dev/logs"/> ? ? <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!-- ? ? ? ? ? ?格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{10} - %msg%n</pattern> ? ? ? ? </encoder> ? ? </appender> ? ? <!-- 按照每天生成日志文件 --> ? ? <appender name="DAYINFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> ? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ? ? ? ? ? ? <!--日志文件輸出的文件名--> ? ? ? ? ? ? <FileNamePattern>${LOG_HOME}/InfoLog.%d{yyyy-MM-dd}.log</FileNamePattern> ? ? ? ? ? ? <!--日志文件保留天數(shù)--> ? ? ? ? ? ? <MaxHistory>30</MaxHistory> ? ? ? ? </rollingPolicy> ? ? ? ? <!--過濾info級別日志--> ? ? ? ? <filter class="ch.qos.logback.classic.filter.LevelFilter"> ? ? ? ? ? ? <level>info</level> ? ? ? ? ? ? <onMatch>ACCEPT</onMatch> ? ? ? ? ? ? <onMismatch>DENY</onMismatch> ? ? ? ? </filter> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ? ? ? ? ? ? <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> ? ? ? ? </encoder> ? ? ? ? <!--日志文件最大的大小--> ? ? ? ? <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> ? ? ? ? ? ? <MaxFileSize>10MB</MaxFileSize> ? ? ? ? </triggeringPolicy> ? ? </appender> ? ? <appender name="DAYWARN" ?class="ch.qos.logback.core.rolling.RollingFileAppender"> ? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ? ? ? ? ? ? <!--日志文件輸出的文件名--> ? ? ? ? ? ? <FileNamePattern>${LOG_HOME}/WarnLog.%d{yyyy-MM-dd}.log</FileNamePattern> ? ? ? ? ? ? <!--日志文件保留天數(shù)--> ? ? ? ? ? ? <MaxHistory>30</MaxHistory> ? ? ? ? </rollingPolicy> ? ? ? ? <!--過濾warn級別日志--> ? ? ? ? <filter class="ch.qos.logback.classic.filter.LevelFilter"> ? ? ? ? ? ? <level>warn</level> ? ? ? ? ? ? <onMatch>ACCEPT</onMatch> ? ? ? ? ? ? <onMismatch>DENY</onMismatch> ? ? ? ? </filter> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ? ? ? ? ? ? <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> ? ? ? ? </encoder> ? ? ? ? <!--日志文件最大的大小--> ? ? ? ? <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> ? ? ? ? ? ? <MaxFileSize>10MB</MaxFileSize> ? ? ? ? </triggeringPolicy> ? ? </appender> ? ? <appender name="DAYERROR" ?class="ch.qos.logback.core.rolling.RollingFileAppender"> ? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ? ? ? ? ? ? <!--日志文件輸出的文件名--> ? ? ? ? ? ? <FileNamePattern>${LOG_HOME}/ErrorLog.%d{yyyy-MM-dd}.log</FileNamePattern> ? ? ? ? ? ? <!--日志文件保留天數(shù)--> ? ? ? ? ? ? <MaxHistory>30</MaxHistory> ? ? ? ? </rollingPolicy> ? ? ? ? <!--過濾error級別日志--> ? ? ? ? <filter class="ch.qos.logback.classic.filter.LevelFilter"> ? ? ? ? ? ? <level>error</level> ? ? ? ? ? ? <onMatch>ACCEPT</onMatch> ? ? ? ? ? ? <onMismatch>DENY</onMismatch> ? ? ? ? </filter> ? ? ? ? <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ? ? ? ? ? ? <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> ? ? ? ? ? ? <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> ? ? ? ? </encoder> ? ? ? ? <!--日志文件最大的大小--> ? ? ? ? <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> ? ? ? ? ? ? <MaxFileSize>10MB</MaxFileSize> ? ? ? ? </triggeringPolicy> ? ? </appender> ? ? <!-- 日志輸出級別 --> ? ? <root level="INFO"> ? ? ? ? <appender-ref ref="STDOUT"/> ? ? ? ? <appender-ref ref="DAYINFO"/> ? ? ? ? <appender-ref ref="DAYWARN"/> ? ? ? ? <appender-ref ref="DAYERROR" /> ? ? </root> </configuration>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- SpringBoot整合logback日志的詳細步驟
- 解決springboot配置logback-spring.xml不起作用問題
- Springboot使用Logback實現(xiàn)日志配置與異常記錄
- SpringBoot項目讀取外置logback配置文件的問題及解決
- 使用springboot logback動態(tài)獲取application的配置項
- springboot logback如何從apollo配置中心讀取變量
- springboot 使用logback啟動報警報錯的解決
- 詳解Springboot之Logback的使用學習
- 解決springboot使用logback日志出現(xiàn)LOG_PATH_IS_UNDEFINED文件夾的問題
- Springboot整合logback的詳細教程
相關(guān)文章
springmvc @ResponseStatus和ResponseEntity的使用
這篇文章主要介紹了springmvc @ResponseStatus和ResponseEntity的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07解決Spring session(redis存儲方式)監(jiān)聽導致創(chuàng)建大量redisMessageListenerConta
這篇文章主要介紹了解決Spring session(redis存儲方式)監(jiān)聽導致創(chuàng)建大量redisMessageListenerContailner-X線程問題,需要的朋友可以參考下2018-08-08十大常見Java String問題_動力節(jié)點Java學院整理
本文介紹Java中關(guān)于String最常見的10個問題,需要的朋友參考下吧2017-04-04IntelliJ IDEA 詳細圖解最常用的配置(適合剛剛用的新人)
這篇文章主要介紹了IntelliJ IDEA 詳細圖解最常用的配置,本篇教程非常適合剛剛用的新人,本文圖文并茂給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08java8 stream 如何打印數(shù)據(jù)元素
這篇文章主要介紹了java8 stream 如何打印數(shù)據(jù)元素,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11