springboot配置log4j每天輸出日誌到資料夾
阿新 • • 發佈:2021-02-05
首先在resources目錄下建立xml檔案logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="10 seconds"> <contextName>logback</contextName> <!-- 格式化輸出:%date表示日期,%thread表示執行緒名,%-5level:級別從左顯示5個字元寬度 %msg:日誌訊息,%n是換行符--> <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" /> <!-- 定義日誌儲存的路徑,不要配置相對路徑 --> <property name="FILE_PATH" value="/usr/local/valveserver/logs/spring-log.%d{yyyy-MM-dd}.%i.log" /> <!-- 控制檯輸出日誌 --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <!-- 日誌級別過濾INFO以下 --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <encoder> <!-- 按照上面配置的LOG_PATTERN來列印日誌 --> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!--每天生成一個日誌檔案,儲存30天的日誌檔案。rollingFile用來切分檔案的 --> <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${FILE_PATH}</fileNamePattern> <!-- keep 15 days' worth of history --> <maxHistory>30</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- 日誌檔案的最大大小 --> <maxFileSize>2MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!-- 超出刪除老檔案 --> <totalSizeCap>1GB</totalSizeCap> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <!-- project default level --> <logger name="net.sh.rgface.serive" level="ERROR" /> <!-- 日誌輸出級別 --> <root level="INFO"> <appender-ref ref="console" /> <appender-ref ref="rollingFile" /> </root> </configuration>
然後在配置檔案中引用xml檔案
logging.config=classpath:logback-spring.xml
大功告成
如果想在本地生成,就把xml檔案中的路徑換成本地路徑就可以了;
這是我測試了好幾個唯一一個能用的
感謝:心猿意碼bseayin
註明:本文為半轉載,半原創,所以就表名原創了,如果作者有異議請於本人聯絡;