01、application-dev.yml配置
myapp:
logpath: G:/logs/springboot/
02、application-prod.yml配置
myapp:
logpath: /logs/springboot/
03、log-spring-xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<springProperty scope="context" name="LOG_PATH" source="myapp.logpath" defaultValue="mylogxxxx"/>
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/log_file.log</file>
<append>true</append>
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/log_file_%d{yyyy-mm-dd.HH.MM}.log</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>100MB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1MB</maxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>【FILE】 %green(%d{yyyy-MM-dd HH:mm:ss:SSS}) [%thread] [%-5level] %logger %M %L - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<appender name="DBAPPENDER" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">
<dataSource class="com.zaxxer.hikari.HikariDataSource">
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<jdbcUrl>jdbc:mysql://localhost:3306/kss-web-db?useUnicode=true&characterEncoding=utf8&useSSL=false</jdbcUrl>
<username>root</username>
<password>mkxiaoer</password>
<poolName>HikariPool-logback</poolName>
</dataSource>
</connectionSource>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>【KSD - CONSOLE】 %clr(%d{yyyy-MM-dd HH:mm:ss:SSS}){yellow} %clr([%thread]){green} %blue([%-5level]) %logger %M %L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<discardingThreshold>0</discardingThreshold>
<queueSize>100</queueSize>
<appender-ref ref="FILE" />
</appender>
<springProfile name="dev">
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<springProfile name="prod">
<root level="ERROR">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ASYNC"/>
<appender-ref ref="DBAPPENDER"/>
</root>
<logger name="com.kuangstudy.order" level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DBAPPENDER"/>
</logger>
</springProfile>
</configuration>