|
@@ -0,0 +1,106 @@
|
|
|
+<?xml version="1.0" encoding="utf-8"?>
|
|
|
+<configuration>
|
|
|
+ <contextName>logback-spring-demo-dev</contextName>
|
|
|
+ <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n"/>
|
|
|
+ <property name="pattern-color" value="%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %green(%logger{50}) - %highlight(%msg) %n"/>
|
|
|
+ <property name="LOG_HOME" value="logs"/>
|
|
|
+
|
|
|
+ <!-- 控制台输出 -->
|
|
|
+ <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
|
+ <pattern>${pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <!-- 控制台输出-带颜色 -->
|
|
|
+ <appender name="CONSOLE-WITH-COLOR" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
|
+ <pattern>${pattern-color}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <!-- 文件输出 -->
|
|
|
+ <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
|
|
+ <fileNamePattern>${LOG_HOME}/all.%d.%i.log</fileNamePattern>
|
|
|
+ <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
|
|
+ <maxFileSize>10MB</maxFileSize>
|
|
|
+ </timeBasedFileNamingAndTriggeringPolicy>
|
|
|
+ <maxHistory>30</maxHistory>
|
|
|
+ </rollingPolicy>
|
|
|
+
|
|
|
+ <encoder>
|
|
|
+ <pattern>${pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
+ <!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,
|
|
|
+ 所以我们使用下面的策略,可以避免输出 Error 的日志-->
|
|
|
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
|
|
|
+ <!--过滤 Error-->
|
|
|
+ <level>ERROR</level>
|
|
|
+ <!--匹配到就禁止-->
|
|
|
+ <onMatch>DENY</onMatch>
|
|
|
+ <!--没有匹配到就允许-->
|
|
|
+ <onMismatch>ACCEPT</onMismatch>
|
|
|
+ </filter>
|
|
|
+ <File>${LOG_HOME}/log.log</File>
|
|
|
+ <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
+ <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
|
|
+ <FileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
|
|
|
+ <!-- 单个日志文件最多 100MB -->
|
|
|
+ <maxFileSize>100MB</maxFileSize>
|
|
|
+ <!--只保留最近30天的日志-->
|
|
|
+ <maxHistory>30</maxHistory>
|
|
|
+ <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
|
|
+ <totalSizeCap>1GB</totalSizeCap>
|
|
|
+ </rollingPolicy>
|
|
|
+ <!--日志输出编码格式化-->
|
|
|
+ <encoder>
|
|
|
+ <charset>UTF-8</charset>
|
|
|
+ <pattern>${pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+ <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
+ <!--如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter-->
|
|
|
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
|
+ <level>ERROR</level>
|
|
|
+ </filter>
|
|
|
+ <!--日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则
|
|
|
+ 如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天
|
|
|
+ 的日志改名为今天的日期。即,<File> 的日志都是当天的。
|
|
|
+ -->
|
|
|
+ <File>${LOG_HOME}/error.log</File>
|
|
|
+ <!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
+ <!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
|
|
+ <FileNamePattern>${LOG_HOME}/error.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
|
|
|
+ <!-- 单个日志文件最多 100MB -->
|
|
|
+ <maxFileSize>100MB</maxFileSize>
|
|
|
+ <!--只保留最近30天的日志-->
|
|
|
+ <maxHistory>30</maxHistory>
|
|
|
+ <!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
|
|
+ <totalSizeCap>1GB</totalSizeCap>
|
|
|
+ </rollingPolicy>
|
|
|
+ <!--日志输出编码格式化-->
|
|
|
+ <encoder>
|
|
|
+ <charset>UTF-8</charset>
|
|
|
+ <pattern>${pattern}</pattern>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <root level="INFO">
|
|
|
+ <appender-ref ref="CONSOLE-WITH-COLOR"/>
|
|
|
+ <appender-ref ref="FILE"/>
|
|
|
+ </root>
|
|
|
+
|
|
|
+ <logger name="com.example.logbackdemo.IndexAction" level="info" additivity="false">
|
|
|
+ <appender-ref ref="CONSOLE"/>
|
|
|
+ </logger>
|
|
|
+
|
|
|
+</configuration>
|