<?xml version="1.0" encoding="UTF-8"?>
< configuration scan = " true" scanPeriod = " 30 seconds" > < property name = " LOG_HOME" value = " /data/logs/sys_admin" /> < property name = " ENCODER_PATTERN" value = " %d{yyyy-MM-dd HH:mm:ss.SSS} %X{traceId} %level %logger{0} [%t] %m%n" /> < appender name = " STDOUT" class = " ch.qos.logback.core.ConsoleAppender" > < encoder class = " ch.qos.logback.classic.encoder.PatternLayoutEncoder" > < pattern> ${ENCODER_PATTERN}</ pattern> </ encoder> </ appender> < appender name = " INFO_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < Append> true</ Append> < file> ${LOG_HOME}/sys_info.log</ file> < rollingPolicy class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < FileNamePattern> ${LOG_HOME}/sys_info.log.%d{yyyy-MM-dd}</ FileNamePattern> < MaxHistory> 30</ MaxHistory> </ rollingPolicy> < encoder> < pattern> ${ENCODER_PATTERN}</ pattern> < charset> UTF-8</ charset> </ encoder> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> INFO</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < appender name = " ERROR_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < Append> true</ Append> < file> ${LOG_HOME}/sys_error.log</ file> < rollingPolicy class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < FileNamePattern> ${LOG_HOME}/sys_error.log.%d{yyyy-MM-dd}</ FileNamePattern> < MaxHistory> 30</ MaxHistory> </ rollingPolicy> < encoder> < pattern> ${ENCODER_PATTERN}</ 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> < appender name = " WARN_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < Append> true</ Append> < file> ${LOG_HOME}/sys_warn.log</ file> < rollingPolicy class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < FileNamePattern> ${LOG_HOME}/sys_warn.log.%d{yyyy-MM-dd}</ FileNamePattern> < MaxHistory> 30</ MaxHistory> </ rollingPolicy> < encoder> < pattern> ${ENCODER_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 = " DEBUG_FILE" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < Append> true</ Append> < file> ${LOG_HOME}/sys_debug.log</ file> < rollingPolicy class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < FileNamePattern> ${LOG_HOME}/sys_debug.log.%d{yyyy-MM-dd}</ FileNamePattern> < MaxHistory> 30</ MaxHistory> </ rollingPolicy> < encoder> < pattern> ${ENCODER_PATTERN}</ pattern> < charset> UTF-8</ charset> </ encoder> < filter class = " ch.qos.logback.classic.filter.LevelFilter" > < level> DEBUG</ level> < onMatch> ACCEPT</ onMatch> < onMismatch> DENY</ onMismatch> </ filter> </ appender> < appender name = " trace" class = " ch.qos.logback.core.rolling.RollingFileAppender" > < file> /data/logs/trace/trace.log</ file> < Append> true</ Append> < encoder> < pattern> %msg%n</ pattern> < charset> UTF-8</ charset> </ encoder> < rollingPolicy class = " ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < FileNamePattern> /data/logs/trace/trace.log.%d{yyyy-MM-dd-HH}</ FileNamePattern> < MaxHistory> 1</ MaxHistory> </ rollingPolicy> </ appender> < appender name = " async-trace" class = " ch.qos.logback.classic.AsyncAppender" > < discardingThreshold> 80</ discardingThreshold> < queueSize> 512</ queueSize> < appender-ref ref = " trace" /> </ appender> < logger name = " cn.system.trace.utils.SpanLogger" additivity = " false" > < level value = " INFO" /> < appender-ref ref = " async-trace" /> </ logger> < logger name = " cn.system.jade.datasource.SQLParseInfo" additivity = " false" > < level value = " INFO" /> < appender-ref ref = " WARN_FILE" /> </ logger> < root> < level value = " INFO" /> < appender-ref ref = " STDOUT" /> < appender-ref ref = " INFO_FILE" /> < appender-ref ref = " WARN_FILE" /> < appender-ref ref = " ERROR_FILE" /> < appender-ref ref = " DEBUG_FILE" /> </ root>
</ configuration>