`

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

分享到:
评论

相关推荐

    Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar

    这个配置中,`RollingFileAppender`定义了日志写入到`logs/catalina.log`文件,并使用`TimeBasedRollingPolicy`按日期进行滚动,每天生成一个新的日志文件,最多保留30天的历史日志。`encoder`部分则设置了日志的...

    catalina.out日志切分.docx

    因此,本文将详细介绍如何通过Cronolog工具实现对catalina.out日志文件的自动按日期切分。 #### Cronolog工具简介 Cronolog是一款功能强大的日志切割工具,支持按日期、时间等模式对日志文件进行切割,广泛应用于...

    Spring boot按日切分spring boot的nohup.out日志文件的方法

    下面我们将详细介绍如何使用cronolog工具在Spring Boot中实现按日切分`nohup.out`日志文件的方法。 首先,我们需要安装cronolog工具。cronolog是一个用于日志轮转的程序,它可以按照指定的时间格式(如日期)将输出...

    日志程序源码

    - **日志切分**:按照时间(如一天)或大小(如文件大小达到一定限制)来分割日志文件,保持日志文件的可管理性。 2. **日志程序设计** - **日志框架**:如Java的Log4j、Logback,Python的logging等,提供灵活的...

    商业编程-源码-一个简单又高效的日志系统.zip

    4. **日志轮换**:为了防止单个日志文件过大,日志系统通常会进行日志轮换,例如按日期切分或达到一定大小后创建新的日志文件。 5. **性能优化**:高效日志系统会避免在高并发环境下对性能造成太大影响。例如,通过...

Global site tag (gtag.js) - Google Analytics