SpringBoot中項(xiàng)目如何讀取外置logback配置文件
SpringBoot讀取外置logback配置文件
直接在啟動(dòng)命令中添加日志配置文件路徑
java -jar -Dlogging.config=./config/logback-spring.xml **.jar
或者在你的啟動(dòng)腳本中添加這個(gè)java_opt:
-Dlogging.config=./config/logback-spring.xml
springboot logback基礎(chǔ)配置文件
控制臺(tái)打印的縮寫(xiě)的日志范圍,僅供查看
文件中打印的詳細(xì)的debug范圍
如果使用需要更改 logger 中name為你項(xiàng)目中的包路徑地址
property
設(shè)置參數(shù)springProperty
讀取配置文件中的參數(shù)
基本版
<?xml version="1.0" encoding="UTF-8"?> <!-- ?scan: 當(dāng)此屬性設(shè)置為true時(shí),配置文件如果發(fā)生改變,將會(huì)被重新加載,默認(rèn)值為true。 ?scanPeriod: 設(shè)置監(jiān)測(cè)配置文件是否有修改的時(shí)間間隔,如果沒(méi)有給出時(shí)間單位,默認(rèn)單位是毫秒。當(dāng)scan為true時(shí),此屬性生效。默認(rèn)的時(shí)間間隔為1分鐘。 ?debug: 當(dāng)此屬性設(shè)置為true時(shí),將打印出logback內(nèi)部日志信息,實(shí)時(shí)查看logback運(yùn)行狀態(tài)。默認(rèn)值為false。 --> <configuration scan="true" scanPeriod="30 seconds" debug="false"> ? ? <!-- 日志輸出級(jí)別 FATAL > ERROR > WARN > INFO > DEBUG > TRACE --> ? ? <!-- http://www.51gjie.com/javaweb/1109.html--> ? ? <!-- https://www.jianshu.com/p/0cc29d3f775a--> ? ? <!--定義日志文件的存儲(chǔ)地址 勿在 LogBack 的配置中使用相對(duì)路徑--> ? ? <!-- <property name="LOG_HOME" value="/d/tsl_demo/logs"/>--> ? ? <springProperty scope="context" name="LOG_HOME" source="tsl.path"/> ? ? <!--控制臺(tái)日志, 控制臺(tái)輸出 --> ? ? <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> ? ? ? ? <!-- 控制臺(tái)只輸出info級(jí)別的日志--> ? ? ? ? <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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度,%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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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"> ? ? <!--定義日志文件的存儲(chǔ)地址 勿在 LogBack 的配置中使用相對(duì)路徑--> ? ? <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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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> ? ? ? ? <!--過(guò)濾info級(jí)別日志--> ? ? ? ? <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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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> ? ? ? ? <!--過(guò)濾warn級(jí)別日志--> ? ? ? ? <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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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> ? ? ? ? <!--過(guò)濾error級(jí)別日志--> ? ? ? ? <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表示線(xiàn)程名,%-5level:級(jí)別從左顯示5個(gè)字符寬度%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> ? ? <!-- 日志輸出級(jí)別 --> ? ? <root level="INFO"> ? ? ? ? <appender-ref ref="STDOUT"/> ? ? ? ? <appender-ref ref="DAYINFO"/> ? ? ? ? <appender-ref ref="DAYWARN"/> ? ? ? ? <appender-ref ref="DAYERROR" /> ? ? </root> </configuration>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot整合logback日志的詳細(xì)步驟
- 解決springboot配置logback-spring.xml不起作用問(wèn)題
- Springboot使用Logback實(shí)現(xiàn)日志配置與異常記錄
- SpringBoot項(xiàng)目讀取外置logback配置文件的問(wèn)題及解決
- 使用springboot logback動(dòng)態(tài)獲取application的配置項(xiàng)
- springboot logback如何從apollo配置中心讀取變量
- springboot 使用logback啟動(dòng)報(bào)警報(bào)錯(cuò)的解決
- 詳解Springboot之Logback的使用學(xué)習(xí)
- 解決springboot使用logback日志出現(xiàn)LOG_PATH_IS_UNDEFINED文件夾的問(wèn)題
- Springboot整合logback的詳細(xì)教程
相關(guān)文章
springmvc @ResponseStatus和ResponseEntity的使用
這篇文章主要介紹了springmvc @ResponseStatus和ResponseEntity的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07解決Spring session(redis存儲(chǔ)方式)監(jiān)聽(tīng)導(dǎo)致創(chuàng)建大量redisMessageListenerConta
這篇文章主要介紹了解決Spring session(redis存儲(chǔ)方式)監(jiān)聽(tīng)導(dǎo)致創(chuàng)建大量redisMessageListenerContailner-X線(xiàn)程問(wèn)題,需要的朋友可以參考下2018-08-08十大常見(jiàn)Java String問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文介紹Java中關(guān)于String最常見(jiàn)的10個(gè)問(wèn)題,需要的朋友參考下吧2017-04-04IntelliJ IDEA 詳細(xì)圖解最常用的配置(適合剛剛用的新人)
這篇文章主要介紹了IntelliJ IDEA 詳細(xì)圖解最常用的配置,本篇教程非常適合剛剛用的新人,本文圖文并茂給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08java8 stream 如何打印數(shù)據(jù)元素
這篇文章主要介紹了java8 stream 如何打印數(shù)據(jù)元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11