Logback Appender-FileAppender说明(废弃)

说明

<appender name="fileAppender"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 把日志文件输出到:项目启动的目录下的log文件夹(无则自动创建)下 -->
    <file>${log-dir}/${log-name}.log</file>
    <!-- 把日志文件输出到:name为logFilePositionDir的property标签指定的位置下 -->
    <!-- <file>${logFilePositionDir}/logFile.log</file> -->
    <!-- 把日志文件输出到:当前磁盘下的log文件夹(无则自动创建)下 -->
    <!-- <file>/log/logFile.log</file> -->
    <rollingPolicy
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- TimeBasedRollingPolicy策略会将过时的日志,另存到指定的文件中(无该文件则创建) -->
        <!-- 把因为 过时 或 过大  而拆分后的文件也保存到目启动的目录下的log文件夹下  -->
        <fileNamePattern>${log-dir}/${log-name}.%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <!-- 设置过时时间(单位:<fileNamePattern>标签中%d里最小的时间单位) -->
        <!-- 系统会删除(分离出去了的)过时了的日志文件 -->
        <!-- 本人这里:保存以最后一次日志为准,往前7天以内的日志文件 -->
        <MaxHistory>
            7
        </MaxHistory>
        <!-- 滚动策略可以嵌套;
                 这里嵌套了一个SizeAndTimeBasedFNATP策略,
                    主要目的是: 在每天都会拆分日志的前提下,
                    当该天的日志大于规定大小时,
                    也进行拆分并以【%i】进行区分,i从0开始
        -->
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>5MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
        <!-- 日志输出格式 -->
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n</pattern>
        <!-- 日志编码 -->
        <charset class="java.nio.charset.Charset">UTF-8</charset>
    </encoder>
</appender>

解释

  • file:要写入文件的名称。如果文件不存在,则新建

  • rollingPolicy:当轮转发生时,指定 RollingFileAppender 的行为。

  • TimeBasedRollingPolicy:基于时间来定义轮转策略

    • fileNamePattern:定义了轮转时的文件名

    • maxHistory:最多保留多少个日志文件

内置rollingPolicy

  • TimeBasedRollingPolicy:基于时间来定义轮转策略

  • SizeAndTimeBasedRollingPolicy:基于大小以及时间的轮转策略

  • FixedWindowRollingPolicy:根据固定窗口算法重命名文件


原文出处:/show_1IX30f0Fwd44.html