美文网首页
Logback日志文件切割

Logback日志文件切割

作者: AC编程 | 来源:发表于2021-09-24 09:35 被阅读0次

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--scan自动扫描重新加载配置 scanPeriod重新加载配置的周期-->
<configuration debug="true" scan="true" scanPeriod="10 seconds">

    <!--凡是springProperty的配置都将出现在生成的json中,如果springProperty 原json中已有相同key则将覆盖-->
    <springProperty scope="context" name="projectName" source="spring.application.name"/>
    <springProperty scope="context" name="server.port" source="server.port"/>
    <springProperty scope="context" name="log.level" source="log.level"/>
    <springProperty scope="context" name="log.path" source="log.path"/>
    <contextName>${projectName}</contextName>

    <!--ConsoleAppender 用于在屏幕上输出日志-->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--定义了一个过滤器,在LEVEL之下的日志输出不会被打印出来-->
        <!--这里定义了 DEBUG,也就是控制台不会输出比ERROR级别小的日志-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <!-- encoder 默认配置为PatternLayoutEncoder -->
        <!--定义控制台输出格式-->
        <encoder>
            <!--<pattern>%d [%thread] %-5level %logger{36} [%file : %line] - %msg%n</pattern>-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 基于时间和日志文件大小的轮转策略 -->
            <fileNamePattern>${log.path}/${projectName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxFileSize>100MB</maxFileSize><!--单个文件最大为100MB-->
            <maxHistory>5</maxHistory><!--保存5天的历史记录-->
            <totalSizeCap>3GB</totalSizeCap><!--归档文件总大小3G-->
        </rollingPolicy>

        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <springProfile name="local-chenyan">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="file"/>
        </root>
    </springProfile>

    <springProfile name="dev">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="file"/>
        </root>
    </springProfile>

    <springProfile name="test">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="file"/>
        </root>
    </springProfile>

    <springProfile name="prod">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="file"/>
        </root>
    </springProfile>
</configuration>

相关文章

网友评论

      本文标题:Logback日志文件切割

      本文链接:https://www.haomeiwen.com/subject/xboagltx.html