版本1: 最基礎的配置,sift with FileAppender, 不具備rolling功能
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="true">
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>DP</key>
<defaultValue>default</defaultValue>
</discriminator>
<sift>
<appender name="File-${DP}" class="ch.qos.logback.core.FileAppender">
<file>/tmp/mina/logbacktest/main-${DP}.log</file>
<append>true</append>
<encoder charset="UTF-8">
<pattern>%c: %d %-5p [%X{PID}:%X{DP}] %m %n</pattern>
</encoder>
</appender>
</sift>
</appender>
<logger name="com.test" level="INFO">
<appender-ref ref="SIFT"/>
</logger>
</configuration>
版本2:sift with TimeBasedRollingPolicy,根據天來rolling
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="true">
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<Key>DP</Key>
<DefaultValue>default</DefaultValue>
</discriminator>
<sift>
<appender name="FILE-${DP}" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/tmp/mina/logbacktest/${DP}_%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<Append>false</Append>
<encoder>
<pattern>%c: %d %-5p [%X{PID}:%X{DP}] %m %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
</sift>
</appender>
<logger name="com.test" level="INFO">
<appender-ref ref="SIFT"/>
</logger>
</configuration>
版本3:sift with FixedWindowRollingPolicy,固定日誌大小進行滾動
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="true">
<appender class="ch.qos.logback.classic.sift.SiftingAppender" name="SIFT">
<discriminator>
<Key>DP</Key>
<DefaultValue>default</DefaultValue>
</discriminator>
<sift>
<appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="FILE-${DP}">
<file>/tmp/mina/logbacktest/main-${DP}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/tmp/mina/logbacktest/main-${DP}.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>30</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1KB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%c: %d %-5p [%X{PID}:%X{DP}] %m %n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
</sift>
</appender>
<logger level="INFO" name="com.test">
<appender-ref ref="SIFT"/>
</logger>
</configuration>