logback SiftingAppender 配置示例

版本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>

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章