`

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

分享到:
评论

相关推荐

    logback.xml按日期再按大小输出日志 配置

    该配置使日志先按日期进行归类,然后按大小输出异步日志

    shiro简单登录+logback日志记录

    Logback提供了按日期滚动、按大小滚动等多种日志文件滚动策略,确保日志不会无限增长占用磁盘空间。 7. **MDC(Mapped Diagnostic Context)** MDC是Logback提供的一种特性,允许我们在代码中存储一些诊断信息,...

    Grails3配置logback日志.pdf

    本文主要介绍如何在Grails3项目中配置logback,实现日志的详细配置,包括按天生成独立的日志文件、日志格式设置以及对日志文件大小的控制。 首先,logback的配置文件是logback.groovy,需要放在项目的grails-app/...

    logback日志配置

    - `&lt;layout&gt;`:定义了输出格式,包括日期、日志级别、类名等信息。 3. **文件输出配置**: - `&lt;appender&gt;`:定义了一个名为 `file` 的滚动文件 Appender。 - `&lt;file&gt;`:指定日志文件的位置。 - `...

    将Logback日志输出到websocket

    标题中的“将Logback日志输出到websocket”指的是利用Logback这一强大的日志框架,结合WebSocket技术,实现实时的日志传输。Logback是Java世界中广泛使用的日志记录工具,它提供了高效的日志记录功能,而WebSocket则...

    logback-spring.xml

    该往当是自定义了Springboot的日志配置文件,详细讲解了按时间切分,按文件大小切分,按时时间,文件大小切分的基本配置

    logback日志写logstash配置appender参考

    logback日志写logstash配置appender参考

    java的Logback日志框架jar包

    Logback 是一个在Java开发中广泛使用的日志记录框架,由Ceki Gülcü创造,他是之前流行的log4j框架的创始人。Logback是作为log4j的替代品设计的,它提供了更高的性能和更多的特性。这个压缩包包含了Logback框架的...

    logback日志配置demo

    Logback 是一个流行的 Java 日志框架,由 Ceki Gülcü 创建,他是早期 Log4j 的主要开发者。Logback 提供了高效的日志记录能力,适用于各种规模的应用程序。本教程将详细介绍如何配置 logback 以实现日志记录,并...

    logback日志分目录分级别案例

    `TimeBasedRollingPolicy` 用于按日期滚动日志文件,`maxHistory` 参数限制了最多保留的历史文件数量。通过 `LevelFilter` 过滤器,我们可以确保每个 appender 只接收指定级别的日志事件。 **案例中的文档和注释** ...

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

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

    springboot+logback输出日志文件1

    Spring Boot 使用 Logback 输出日志文件 Spring Boot 提供了多种日志记录工具,包括 Logback、Log4J2 和 Java Util Logging。默认情况下,Spring Boot 使用 Logback 作为日志记录工具。在日志记录过程中,我们可以...

    LogBack日志的使用

    日志归档是LogBack的另一大特色,通过`TimeBasedRollingPolicy`可以设置日志文件按日期滚动,避免单个日志文件过大。同时,`SizeAndTimeBasedFNATP`策略允许在文件大小达到一定限制时进行滚动。 在分布式系统中,...

    logback日志记录写入kafka

    Logback是一款广泛使用的Java日志框架,它提供了高效且灵活的日志记录功能。SLF4J(Simple Logging Facade for Java)则是一个日志抽象层,允许开发者在不修改代码的情况下更换不同的日志实现。本主题将详细介绍如何...

    logback日志的jar包和配置介绍

    logback日志的jar包和配置介绍:logback-classic-1.1.2.jar、logback-core-1.1.2.jar、slf4j-api-1.7.7.jar、logback.xml、rsframework.properties

    Logback日志系统文件

    Logback是由log4j创始人设计的另一个开源日志组件,基于slf4j的日志规范实现的框架,性能比log4j要好。 Logback主要分为三个技术模块: logback-core:该模块为其他两个模块奠定了基础。 logback-classic:是log4j...

    扩展logback将日志输出到Kafka实例源码

    6. **性能优化**:考虑到Kafka的高吞吐量,我们还需要关注发送速率、缓冲区大小以及错误重试策略等性能优化设置,以确保日志能够高效、稳定地传输。 7. **监控与调试**:为了确保日志传输的可靠性,我们需要对...

    Logback日志应用.mp4

    Logback日志应用.mp4

    采用slf4j+logback输出日志

    日志级别通常包括TRACE、DEBUG、INFO、WARN、ERROR和OFF,它们按严重性递增排序。开发阶段通常开启DEBUG或TRACE,生产环境中则通常使用INFO或WARN。 8. **日志性能** 由于日志记录可能对性能造成影响,因此在生产...

    springmvc log4j2 logback 注解 jackson 日志脱敏实现源码

    本资源包含的是关于`SpringMVC`、`Log4j2`、`Logback`以及`Jackson`的日志脱敏实现源码,提供了多种实现方式,旨在帮助开发者在保障信息安全的同时,充分利用日志进行系统分析。 1. **基于正则表达式的日志脱敏实现...

Global site tag (gtag.js) - Google Analytics