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)打印的縮寫的日志范圍,僅供查看
文件中打印的詳細(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í)間間隔,如果沒有給出時(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表示線程名,%-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表示線程名,%-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表示線程名,%-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表示線程名,%-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表示線程名,%-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表示線程名,%-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)文章
IDEA JeeSite框架httpSession.invalidate()無(wú)效問(wèn)題解決方案
這篇文章主要介紹了IDEA JeeSite框架httpSession.invalidate()無(wú)效問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
詳解Mybatis多參數(shù)傳遞入?yún)⑺姆N處理方式
這篇文章主要介紹了詳解Mybatis多參數(shù)傳遞入?yún)⑺姆N處理方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
淺談springboot一個(gè)service內(nèi)組件的加載順序
這篇文章主要介紹了springboot一個(gè)service內(nèi)組件的加載順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家2021-08-08
解析Spring Boot內(nèi)嵌tomcat關(guān)于getServletContext().getRealPath獲取得到臨時(shí)
大家都很糾結(jié)這個(gè)問(wèn)題在使用getServletContext().getRealPath()得到的是臨時(shí)文件的路徑,每次重啟服務(wù),這個(gè)臨時(shí)文件的路徑還好變更,下面小編通過(guò)本文給大家分享Spring Boot內(nèi)嵌tomcat關(guān)于getServletContext().getRealPath獲取得到臨時(shí)路徑的問(wèn)題,一起看看吧2021-05-05
關(guān)于springboot整合swagger問(wèn)題及解決方法
這篇文章主要介紹了關(guān)于springboot整合swagger問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
Java如何對(duì)返回參數(shù)進(jìn)行處理
這篇文章主要介紹了Java如何對(duì)返回參數(shù)進(jìn)行處理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Java實(shí)現(xiàn)Word/Excel/TXT轉(zhuǎn)PDF的方法
這篇文章主要介紹了Java實(shí)現(xiàn)Word/Excel/TXT轉(zhuǎn)PDF的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
SpringBoot 項(xiàng)目添加 MDC 日志鏈路追蹤的執(zhí)行流程
日志鏈路追蹤就是將一個(gè)標(biāo)志跨線程進(jìn)行傳遞,在一般的小項(xiàng)目中也就是在你新起一個(gè)線程的時(shí)候,或者使用線程池執(zhí)行任務(wù)的時(shí)候會(huì)用到,比如追蹤一個(gè)用戶請(qǐng)求的完整執(zhí)行流程,本文給大家介紹SpringBoot MDC 日志鏈路追蹤的代碼,感興趣的朋友一起看看吧2021-06-06

