1、resources目录下新增 logback-spring.xml
1-1、logback-spring.xml配置内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--日志路径,读取yml路径值-->
<springProperty scope="context" name="logPath" source="log.path"/>
<!-- 控制台日志-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--所有日志输出-->
<appender name="allLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当前日志输出路径及文件名 -->
<file>${logPath}/website-info.log</file>
<!--日志输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!--日志归档策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 归档文件名 -->
<fileNamePattern>${logPath}/%d{yyyy-MM, aux}/all.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!--单个文件大小-->
<maxFileSize>64MB</maxFileSize>
<!--日志保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender>
<!-- error日志记录-->
<appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志输出路径及文件名 -->
<file>${logPath}/website.log-error.log</file>
<!--日志输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!--日志归档策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 归档文件名 -->
<fileNamePattern>${logPath}/%d{yyyy-MM, aux}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!--单个文件大小-->
<maxFileSize>64MB</maxFileSize>
<!--日志保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 只记录error级别日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- root级别配置 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="allLog"/>
<appender-ref ref="errorLog"/>
</root>
<!--输出mapper层sql语句,这里name需根据自己项目的mapper包路径来配置-->
<!--mybatis的log-impl需改为:org.apache.ibatis.logging.slf4j.Slf4jImpl-->
<logger name="com.cs.mapper" level="debug">
</logger>
<!--输出jdbc事务信息-->
<logger name="org.springframework.jdbc" level="debug">
</logger>
</configuration>
2、修改 mybatis 日志实现类配置为slf4j
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
3、application.yml 指定日志配置文件加载路径:
#logback自定义配置文件
logging:
config: classpath:logback-spring.xml
4、application-dev.yml配置路径,开发环境可通过配置WEBSITE_LOG_PATH环境变量来指定目录:
注意:配置WEBSITE_LOG_PATH 不生效时,试着重启IDEA开发工具
#日志路径
#注意:开发人员需配置本地日志输出路径的环境变量:WEBSITE_LOG_PATH,否则默认日志路径为:/Volumes/work/log/website
log:
path: ${WEBSITE_LOG_PATH:/Volumes/work/log/website}
5、application-test.yml配置路径
#日志路径
log:
path: /data/log/website