<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志界别 TRACE < DEBUG < INFO < WARN < ERROR < FATAL -->
<!-- 扫描功能开启 60秒扫一次 配置文件如果发生改变,将会被重新加载 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志路径 -->
<springProperty name="LOG_PATH" scope="context" source="log.path"/>
<!-- 输出日志模板 -->
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- 输出到日志文件 -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--设置策略-->
<!--TimeBasedRollingPolicy只能设置时间策略,不能和SizeBasedTriggeringPolicy混合使用
SizeAndTimeBasedRollingPolicy才能使用时间和文件大小组合策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件路径:这里%d{yyyyMMdd}表示按天分类日志-->
<FileNamePattern>${LOG_PATH}/%d{yyyyMMdd}/%d{yyyyMMdd}_console.%i.log</FileNamePattern>
<!--日志保留天数-->
<MaxHistory>30</MaxHistory>
<!--日志文件最大的大小-->
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<!--设置格式-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<!-- 开发环境 -->
<springProfile name="dev">
<root level="DEBUG">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>
<logger name="org.apache.ibatis" level="DEBUG"/>
<logger name="com.zaxxer.hikari" level="INFO"/>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>
<logger name="org.apache.ibatis" level="DEBUG"/>
</springProfile>
</configuration>
logback-spring.xml配置
于 2023-04-23 15:16:21 首次发布