| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration scan="true" scanPeriod="60 seconds" debug="false">
- <!-- 日志存放路径 -->
- <property name="log.path" value="logs/${project.artifactId}" />
- <!-- 日志输出格式 -->
- <property name="console.log.pattern"
- value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n%ex{full}"/>
- <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n%ex{full}"/>
- <!-- 控制台输出 -->
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${console.log.pattern}</pattern>
- <charset>utf-8</charset>
- </encoder>
- </appender>
- <appender name="file_warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/warn.log</file>
- <!-- 循环政策:基于时间创建日志文件 -->
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 日志文件名格式 -->
- <fileNamePattern>${log.path}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!-- 日志最大的历史 60天 -->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- <charset>utf-8</charset>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <!-- 过滤的级别 -->
- <level>WARN</level>
- <!-- 匹配时的操作:接收(记录) -->
- <onMatch>ACCEPT</onMatch>
- <!-- 不匹配时的操作:拒绝(不记录) -->
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!-- 控制台输出 -->
- <appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/info.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 日志文件名格式 -->
- <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!-- 日志最大 1天 -->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- <charset>utf-8</charset>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <!-- 过滤的级别 -->
- <level>INFO</level>
- </filter>
- </appender>
- <!-- info异步输出 -->
- <appender name="async_warn" class="ch.qos.logback.classic.AsyncAppender">
- <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
- <discardingThreshold>0</discardingThreshold>
- <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
- <queueSize>512</queueSize>
- <!-- 添加附加的appender,最多只能添加一个 -->
- <appender-ref ref="file_warn"/>
- </appender>
- <appender name="async_console" class="ch.qos.logback.classic.AsyncAppender">
- <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
- <discardingThreshold>0</discardingThreshold>
- <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
- <queueSize>512</queueSize>
- <!-- 添加附加的appender,最多只能添加一个 -->
- <appender-ref ref="file_console"/>
- </appender>
- <include resource="logback-common.xml" />
- <include resource="logback-logstash.xml" />
- <!-- 开启 skywalking 日志收集 -->
- <include resource="logback-skylog.xml" />
- <!--系统操作日志-->
- <root level="info">
- <appender-ref ref="console" />
- <appender-ref ref="async_warn" />
- <appender-ref ref="async_console" />
- </root>
- </configuration>
|