相关连接:
https://www.cnblogs.com/lixuwu/p/5804793.html
https://www.cnblogs.com/linkstar/p/8309039.html
https://blog.csdn.net/qq_29689487/article/details/78397562
https://ask.csdn.net/questions/643004
https://blog.csdn.net/Bad_yu/article/details/81075707
maxHistory 的单位是根据flieNamePattern的最小时间单位来,如yyyyMMdd_HH 最小单位是小时,那maxHistory的单位也是小时,如yyyyMMdd,那maxHistory的单位是天
application.properties
logback.path=xxx
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds">
<include resource="org/springframework/boot/logging/logback/base.xml" />
<!--<property name="LOG_PATH" value="logs"/>-->
<!--从application.propertis获取日志保存的路径 -->
<springProperty scope="context" name="LOG_PATH" source="logback.path"/>
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/info.log</File>
<param name="Encoding" value="UTF-8" />
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/info/%d{yyyyMMdd,aux}/info-%d{yyyyMMdd_HH}.log.%i</fileNamePattern>
<maxFileSize>500MB</maxFileSize>
<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>
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<File>${LOG_PATH}/error.log</File>
<param name="Encoding" value="UTF-8" />
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/error/%d{yyyyMMdd,aux}/error-%d{yyyyMMdd_HH}.log.%i
</fileNamePattern>
<maxFileSize>500MB</maxFileSize>
<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>
<!-- hibernate日志输入 -->
<!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder"
level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
level="TRACE" />
<logger name="org.hibernate.SQL" level="INFO" />
<logger name="org.hibernate.engine.QueryParameters" level="INFO" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="INFO" /> -->
<root level="INFO">
<appender-ref ref="INFO_FILE" />
<appender-ref ref="ERROR_FILE" />
</root>
<logger name="org.springframework.boot" level="ERROR"/>
</configuration>