You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中Logback配置每小时生成新归档日志文件问题排查

修正Logback配置实现每小时归档且保留所有日志

原配置的核心问题

  • 时间滚动格式错误:%d{yyyy-MM-dd HH:mm}会触发每分钟归档,而非每小时,不符合需求
  • 自动删除归档的配置:maxHistory和totalSizeCap会自动清理旧日志,违反“不得删除任何归档”的要求
  • 重复Logger配置:两个com.credence Logger会导致配置冲突,且未覆盖全量微服务日志

修正后的完整配置

<property name="LOG_FILE" value="logs/campaign-service.log"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{0} - %msg%n
        </Pattern>
    </layout>
</appender>

<appender name="FILE-ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_FILE}</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- 按小时归档,格式精确到小时 -->
        <fileNamePattern>logs/archived/campaign-service.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
        <!-- 移除maxHistory和totalSizeCap,避免自动删除归档 -->
    </rollingPolicy>

    <encoder>
        <pattern>%d [%t] %p %c{0} %m%n</pattern>
    </encoder>
</appender>

<!-- 合并重复的com.credence日志配置,同时输出到控制台和文件 -->
<logger name="com.credence" level="trace" additivity="false">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE-ROLLING"/>
</logger>

<!-- Spring框架日志输出到控制台,如需写入文件可添加FILE-ROLLING引用 -->
<logger name="org.springframework" level="info" additivity="false">
    <appender-ref ref="STDOUT"/>
</logger>

<!-- Root日志输出到控制台,如需全量微服务日志写入文件,添加FILE-ROLLING引用 -->
<root level="info">
    <appender-ref ref="STDOUT"/>
    <!-- 如果需要所有日志(包括第三方框架)都写入归档文件,取消下面的注释 -->
    <!-- <appender-ref ref="FILE-ROLLING"/> -->
</root>

关键配置说明

  1. 时间滚动格式:%d{yyyy-MM-dd_HH}确保每小时生成一个归档文件,文件名会包含具体的年-月-日-小时,比如campaign-service.2024-05-20_14.log
  2. 移除自动清理配置:删除maxHistory和totalSizeCap后,Logback不会自动删除任何归档文件,所有历史日志都会保留
  3. 合并Logger配置:将重复的com.credence Logger合并,同时关联控制台和文件输出,避免配置冲突
  4. 全量日志控制:如果需要将微服务的所有日志(包括Spring等第三方框架)都写入归档文件,只需在Root Logger中添加FILE-ROLLING的引用即可

内容的提问来源于stack exchange,提问作者Sambhav Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:15:24