前言
- 要实现功能:根据不同配置文件,logback日志保存路径不同
- 例如:开发环境Win10,日志保存路径为
D:\log
,运行环境Linux系统下,日志保存路径为/log
配置 logback
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
resources
目录下新建logback-spring.xml
配置文件,添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<springProperty scope="context" name="LOG_HOME" source="logging.file.path"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<appender name="mes" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_HOME}lmes.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}lmes.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
</encoder>
</appender>
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_HOME}lmes.error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}lmes.error.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%d{HH:mm:ss.SSS}][%p][%c{40}][%t] %m%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="com.mes" additivity="false" level="INFO">
<appender-ref ref="mes"/>
<appender-ref ref="console"/>
</logger>
<logger name="com.mes.dao" level="DEBUG"/>
<root level="DEBUG">
<appender-ref ref="console"/>
<appender-ref ref="error"/>
</root>
</configuration>
- 在
application-dev.yml
配置文件,添加logback
日志配置
logging:
config: classpath:logback-spring.xml
file:
path: C:\log
logging:
config: classpath:logback-spring.xml
file:
path: /log