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基礎配置文件
控制臺打印的縮寫的日志范圍,僅供查看
文件中打印的詳細的debug范圍
如果使用需要更改 logger 中name為你項目中的包路徑地址
property設置參數(shù)springProperty讀取配置文件中的參數(shù)
基本版
<?xml version="1.0" encoding="UTF-8"?>
<!--
?scan: 當此屬性設置為true時,配置文件如果發(fā)生改變,將會被重新加載,默認值為true。
?scanPeriod: 設置監(jiān)測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。
?debug: 當此屬性設置為true時,將打印出logback內部日志信息,實時查看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>以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 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的詳細教程
相關文章
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中關于String最常見的10個問題,需要的朋友參考下吧2017-04-04
IntelliJ IDEA 詳細圖解最常用的配置(適合剛剛用的新人)
這篇文章主要介紹了IntelliJ IDEA 詳細圖解最常用的配置,本篇教程非常適合剛剛用的新人,本文圖文并茂給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08

