将控制台指定级别的日志写入本地指定目录./logs下

且运行时产生的日志文件会以每小时进行切割进另一个日志文件存储

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 定义日志文件的存储地址 -->
    <property name="LOG_HOME" value="./logs"/>
    <property name="MODEL_NAME" value="log"/>

    <!-- 控制台输出 Appender(核心配置,实现日志控制台打印) -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 编码器:和文件日志保持一致格式,便于查看 -->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 日志文件输出 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${MODEL_NAME}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 按小时滚动 -->
            <fileNamePattern>${LOG_HOME}/${MODEL_NAME}.%d{yyyy-MM-dd-HH}.log</fileNamePattern>
            <maxHistory>4320</maxHistory>
            <!-- 关键配置:指定按小时滚动 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy">
                <maxFileSize>100MB</maxFileSize> <!-- 可选:按大小分割 -->
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

    <!-- 指定项目中某个包的日志级别 -->
    <!-- <logger name="com.*" level="DEBUG"/> -->
</configuration>

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐