ransClient.1.9.3.source-code.logback.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration> <configuration debug="false" scan="true" scanPeriod="60 seconds"> <import class="ch.qos.logback.classic.filter.LevelFilter"/> <import class="ch.qos.logback.core.status.NopStatusListener"/> <import class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"/> <import class="ch.qos.logback.classic.AsyncAppender"/> <import class="ch.qos.logback.core.rolling.RollingFileAppender"/> <import class="ch.qos.logback.classic.filter.ThresholdFilter"/> <import class="ch.qos.logback.classic.PatternLayout"/> <import class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"/> <import class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"/> <import class="ch.qos.logback.core.ConsoleAppender"/> <property name="log.level" value="debug"/> <property name="log.maxHistory" value="30"/> <property name="log.filePath" value="./logs"/> <property name="log.color" value="[%date{yyyy-MM-dd HH:mm:ss.SSS}] %highlight([%-5level]) %boldYellow([%20.20thread]) %cyan(%-30.30logger{30}[%-5.5L{5}]) -> %boldBlue(%msg%n)"/> <property name="log.pattern" value="[%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%20.20thread] %-30.30logger{30} [%-5.5L{5}] -> %msg%n"/> <statusListener class="NopStatusListener"/> <appender name="consoleAppender" class="ConsoleAppender"> <layout class="PatternLayout"> <pattern>${log.color}</pattern> </layout> <filter class="ThresholdFilter"> <level>warn</level> </filter> </appender> <appender name="infoAppender" class="RollingFileAppender"> <file>${log.filePath}/info/info.log</file> <rollingPolicy class="TimeBasedRollingPolicy"> <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder class="PatternLayoutEncoder"> <pattern>${log.pattern}</pattern> </encoder> <triggeringPolicy class="SizeBasedTriggeringPolicy"> <maxFileSize>100MB</maxFileSize> </triggeringPolicy> <filter class="LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="debugAppender" class="RollingFileAppender"> <file>${log.filePath}/debug/debug.log</file> <rollingPolicy class="TimeBasedRollingPolicy"> <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder class="PatternLayoutEncoder"> <pattern>${log.pattern}</pattern> </encoder> <triggeringPolicy class="SizeBasedTriggeringPolicy"> <maxFileSize>100MB</maxFileSize> </triggeringPolicy> <filter class="LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="errorAppender" class="RollingFileAppender"> <file>${log.filePath}/error/error.log</file> <rollingPolicy class="TimeBasedRollingPolicy"> <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder class="PatternLayoutEncoder"> <pattern>${log.pattern}</pattern> </encoder> <triggeringPolicy class="SizeBasedTriggeringPolicy"> <maxFileSize>100MB</maxFileSize> </triggeringPolicy> <filter class="LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="async-info" class="AsyncAppender"> <appender-ref ref="infoAppender"/> </appender> <appender name="async-debug" class="AsyncAppender"> <appender-ref ref="debugAppender"/> </appender> <appender name="async-error" class="AsyncAppender"> <appender-ref ref="errorAppender"/> </appender> <appender name="async-cons" class="AsyncAppender"> <appender-ref ref="consoleAppender"/> </appender> <root> <appender-ref ref="async-cons"/> <appender-ref ref="async-debug"/> <appender-ref ref="async-info"/> <appender-ref ref="async-error"/> </root> </configuration>