|
@@ -1,6 +1,7 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<configuration>
|
|
|
<property name="PATH" value="./log"/>
|
|
|
+ <springProperty scope="context" name="appName" source="spring.application.name"/>
|
|
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
|
<encoder>
|
|
|
<Pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) %yellow(%X{traceId}) %magenta([%thread]) %cyan(%logger:%line) %msg%n</Pattern>
|
|
@@ -42,9 +43,41 @@
|
|
|
<onMismatch>DENY</onMismatch>
|
|
|
</filter>
|
|
|
</appender>
|
|
|
+ <appender name="TRACE_JSON" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
|
+ <file>${PATH}/trace.json</file>
|
|
|
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
|
+ <!-- rollover daily -->
|
|
|
+ <fileNamePattern>${PATH}/trace.%d{yyyy-MM-dd_HH}.%i.json</fileNamePattern>
|
|
|
+ <!-- each file should be at most 10MB, keep 60 days worth of history, but at most 20GB -->
|
|
|
+ <maxFileSize>50MB</maxFileSize>
|
|
|
+ <maxHistory>60</maxHistory>
|
|
|
+ <totalSizeCap>20GB</totalSizeCap>
|
|
|
+ </rollingPolicy>
|
|
|
+ <encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
|
|
|
+ <providers>
|
|
|
+ <pattern>
|
|
|
+ <pattern>
|
|
|
+ {
|
|
|
+ "appName": "${appName}",
|
|
|
+ "date": "%date",
|
|
|
+ "level": "%level",
|
|
|
+ "traceId": "%X{traceId}",
|
|
|
+ "pid": "${PID:-}",
|
|
|
+ "thread": "%thread",
|
|
|
+ "logger": "%logger",
|
|
|
+ "line": "%line",
|
|
|
+ "message": "%message",
|
|
|
+ "exception":"%xException"
|
|
|
+ }
|
|
|
+ </pattern>
|
|
|
+ </pattern>
|
|
|
+ </providers>
|
|
|
+ </encoder>
|
|
|
+ </appender>
|
|
|
<root level="INFO">
|
|
|
<appender-ref ref="STDOUT"/>
|
|
|
<appender-ref ref="TRACE_FILE"/>
|
|
|
<appender-ref ref="ERROR_FILE"/>
|
|
|
+ <appender-ref ref="TRACE_JSON"/>
|
|
|
</root>
|
|
|
</configuration>
|