`

logback日志按日期大小切分

 
阅读更多
<?xml version="1.0" encoding="UTF-8" ?>

<configuration debug="true" scan="true" scanPeriod="30 seconds">

    <springProperty scope="context" name="spring.profiles.active" source="spring.profiles.active"/>

    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level%logger{35} [%X{x-jjk-rqid:-notFound}]
                [%X{jjkUserId:-null}] - %msg%n
            </pattern>
        </layout>
    </appender>

    <if condition='property("spring.profiles.active").equals("pro")'>
        <then>
        <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>DENY</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level%logger{35} [%X{x-jjk-rqid:-notFound}]
                    [%X{jjkUserId:-null}] - %msg%n
                </pattern>
            </encoder>
            <!--滚动策略ch.qos.logback.core.rolling.TimeBasedRollingPolicy ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy-->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>./logs/info.%d-%i.log</fileNamePattern>
                <!--<fileNamePattern>C:\log\tomcat\pacs\info.%d.log</fileNamePattern>-->
                <maxFileSize>1MB</maxFileSize>
                <maxHistory>10</maxHistory>
                <totalSizeCap>3GB</totalSizeCap>
            </rollingPolicy>
        </appender>


        <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level%logger{35} [%X{x-jjk-rqid:-notFound}]
                    [%X{jjkUserId:-null}] - %msg%n
                </pattern>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>./logs/error.%d-%i.log</fileNamePattern>
                <maxFileSize>1MB</maxFileSize>
                <maxHistory>10</maxHistory>
                <totalSizeCap>3GB</totalSizeCap>
            </rollingPolicy>
        </appender>
        </then>
    </if>

    <if condition='property("spring.profiles.active").equals("pro")'>
        <then>
        <root level="info">
            <appender-ref ref="consoleLog" />
            <appender-ref ref="fileInfoLog" />
            <appender-ref ref="fileErrorLog" />
        </root>
        </then>
    </if>

    <if condition='property("spring.profiles.active").equals("dev")'>
        <then>
            <root level="debug">
                <appender-ref ref="consoleLog" />
            </root>
        </then>
    </if>

</configuration>

 

 

 

这里面滚动策略用ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy

 

日志输出必须有%d %i

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics