Logback Appender-TimeBasedRollingPolicy 根据日期生成日志文件

说明

假如当天是:2022-01-01,那么生成的日志名为 log/logFile.2022-01-01.log

注意: 本案例只 将日志 输出到文件中,不打印到控制台中

logback.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <!-- 通过property标签,来存放key-value数据,便于后面的动态获取,提高程序的灵活性 -->
    <property name="log-dir" value="log" />
    <property name="log-name" value="logFile" />

    <!--
        name:自定义,
        class:加载指定类(ch.qos.logback.core.rolling.RollingFileAppender类会将日志输出到指定的文件中),
    -->
    <appender name="fileAppender"
              class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!-- TimeBasedRollingPolicy 根据 fileNamePattern 生成文件名(无该文件则创建) -->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- FileNamePattern:文件的全路径名模板 -->
            <fileNamePattern>${log-dir}/${log-name}.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <!-- 日志输出格式 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L- %msg%n</pattern>
            <!-- 日志编码,windows默认为GBK编码,所以要设置 -->
            <charset class="java.nio.charset.Charset">UTF-8</charset>
        </encoder>
    </appender>

    <!--
        root:logger的根节点,appender-ref:确定使用哪个appender
        level:对整体设置级别
        注:如果不指定配置此项的话,logback不生效
    -->
    <root level="info">
        <appender-ref ref="fileAppender" />
    </root>
</configuration>

原文出处:/show_1IX31M5RKQde.html