|
@@ -0,0 +1,50 @@
|
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
+<configuration>
|
|
|
|
+ <property name="PATH" value="./log" />
|
|
|
|
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
|
+ <encoder>
|
|
|
|
+ <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
|
|
|
|
+ <charset>UTF-8</charset>
|
|
|
|
+ </encoder>
|
|
|
|
+ </appender>
|
|
|
|
+ <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
|
+ <file>${PATH}/trace.log</file>
|
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
|
+ <!-- rollover daily -->
|
|
|
|
+ <fileNamePattern>${PATH}/trace.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
|
|
|
|
+ <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
|
|
|
|
+ <maxFileSize>50MB</maxFileSize>
|
|
|
|
+ <maxHistory>60</maxHistory>
|
|
|
|
+ <totalSizeCap>20GB</totalSizeCap>
|
|
|
|
+ </rollingPolicy>
|
|
|
|
+ <encoder>
|
|
|
|
+ <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
|
|
|
|
+ <charset>UTF-8</charset>
|
|
|
|
+ </encoder>
|
|
|
|
+ </appender>
|
|
|
|
+ <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
|
+ <file>${PATH}/error.log</file>
|
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
|
+ <!-- rollover daily -->
|
|
|
|
+ <fileNamePattern>${PATH}/error.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
|
|
|
|
+ <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
|
|
|
|
+ <maxFileSize>50MB</maxFileSize>
|
|
|
|
+ <maxHistory>60</maxHistory>
|
|
|
|
+ <totalSizeCap>20GB</totalSizeCap>
|
|
|
|
+ </rollingPolicy>
|
|
|
|
+ <encoder>
|
|
|
|
+ <Pattern>%d %-5level %X{traceId} [%thread] %logger:%line %msg%n</Pattern>
|
|
|
|
+ <charset>UTF-8</charset>
|
|
|
|
+ </encoder>
|
|
|
|
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
|
|
|
|
+ <level>ERROR</level>
|
|
|
|
+ <onMatch>ACCEPT</onMatch>
|
|
|
|
+ <onMismatch>DENY</onMismatch>
|
|
|
|
+ </filter>
|
|
|
|
+ </appender>
|
|
|
|
+ <root level="INFO">
|
|
|
|
+ <appender-ref ref="STDOUT" />
|
|
|
|
+ <appender-ref ref="TRACE_FILE" />
|
|
|
|
+ <appender-ref ref="ERROR_FILE" />
|
|
|
|
+ </root>
|
|
|
|
+</configuration>
|