解決springboot使用logback日志出現LOG_PATH_IS_UNDEFINED文件夾的問題
加入以下配置
#logback homelogging.path=D:/logs/esb-producerlogback.xml
<property name='LOG_PATH' value='${LOG_PATH:- }' /> <appender name='INFO_FILE' class='ch.qos.logback.core.rolling.RollingFileAppender'><filter class='ch.qos.logback.classic.filter.ThresholdFilter'> <level>INFO</level></filter><File>${LOG_PATH}/info.log</File><rollingPolicy class='ch.qos.logback.core.rolling.TimeBasedRollingPolicy'> <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class='ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP'><maxFileSize>20MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <maxHistory>2</maxHistory></rollingPolicy><layout class='ch.qos.logback.classic.PatternLayout'> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n </Pattern></layout> </appender>
重點是這段<property name='LOG_PATH' value='${LOG_PATH:- }' />
${LOG_PATH:-} 用法
首先LOG_PATH是什么它不是你application.properties配置的 logging.path key, LOG_PATH 是logging.path的系統環境變量(請參考下圖)直接引用在,不要直接引用logging.path 是引用不到的 LOG_PATH = D:/logs/esb-producer -表示分割符,后面的參數是默認路徑 .表示當前項目根路徑也可以是/usr/local/log…舉一反三 so ${LOG_PATH:-.} =${D:/logs/esb-producer-當前項目根路徑} 這種方式有可能會生成倆個日志路徑 一個是 D:/logs/esb-producer 另一個是在當前項目根路徑生成的日志 因為spring比logback先啟動 所以會在項目更目錄生成一個spring的日志 這個就比較惡心了 我想把日志輸出到一起怎么做呢${LOG_PATH:- } 默認路徑設置成空格這樣就不會在你的項目根目錄生成spring日志文件了(會在你服務器根目錄生成)接下來系統日志就會輸出到你的自定義目錄了
logback配置到此這篇關于解決springboot使用logback日志出現LOG_PATH_IS_UNDEFINED文件夾的問題的文章就介紹到這了,更多相關springboot logback LOG_PATH_IS_UNDEFINED內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: