话不多说,直接上代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- 一般写项目名 -->
<contextName>blog</contextName>
<!-- 日志输出目录 建议写相对路径,这样可以和项目在一块 -->
<property name="log.path" value="./log"/>
<!-- 控制台日志格式:彩色日志 -->
<!-- magenta:洋红 -->
<!-- boldMagenta:粗红 -->
<!-- cyan:青色 -->
<!-- white:白色 -->
<!-- magenta:洋红 -->
<property name="CONSOLE_LOG_PATTERN"
value="%yellow(%date{yyyy-MM-dd HH:mm:ss}) %highlight([%-5level]) %green(%logger) %msg%n"/>
<!-- 文件日志格式 -->
<property name="FILE_LOG_PATTERN"
value="%date{yyyy-MM-dd HH:mm:ss} [%-5level] %thread %file:%line %logger %msg%n"/>
<!-- 编码 -->
<property name="ENCODING"
value="UTF-8"/>
<!-- appender 负责写日志组件 -->
<!-- 控制台日志 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
</appender>
<!-- 文件日志 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${log.path}/log.log</file>
<append>true</append>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
</appender>
<!-- 设置时间滚动策略 -->
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 要区别他们的appender中的文件名字 -->
<file>${log.path}/log-rolling.log</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
<!-- 设置滚动日志记录的滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志归档路径以及格式 -->
<fileNamePattern>${log.path}/info/log-rolling-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 归档日志文件保留最大数量 -->
<maxHistory>15</maxHistory>
<!-- 设置触发滚动的时机 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件最大内存 -->
<maxFileSize>512000KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- 日志记录器 -->
<logger name="com.lemon.blog" level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
<!-- 多环境节点 -->
<!-- 开发环境和测试环境 -->
<springProfile name="dev,test">
<!-- 写项目包路径 -->
<logger name="com.lemon.blog" level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ROLLING_FILE"/>
</logger>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<!-- 写项目包路径 -->
<logger name="com.lemon.blog" level="ERROR">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</logger>
</springProfile>
</configuration>