温馨提示×

Linux Java日志轮转策略有哪些

小樊
60
2025-08-18 09:26:29
栏目: 编程语言

Linux下Java日志轮转策略主要有以下两种实现方式:

  • 系统级工具:logrotate
    利用Linux自带工具logrotate配置日志轮转,通过编辑配置文件(如/etc/logrotate.d/java)设置轮转规则,例如按天轮转、保留7天日志、压缩旧日志等。
    示例配置
    /path/to/java/logs/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 0644 root root
    }
    
  • Java日志框架内置策略
    通过Log4j、Logback等框架的配置文件实现轮转,支持按时间(如每天)或文件大小滚动日志,并可设置保留天数或文件数量。
    • Logback示例logback.xml):
      <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
          <file>logs/app.log</file>
          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
              <fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
              <maxHistory>30</maxHistory> <!-- 保留30天日志 -->
          </rollingPolicy>
      </appender>
      
    • Log4j2示例log4j2.xml):
      <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{yyyy-MM-dd}.log">
          <Policies>
              <TimeBasedTriggeringPolicy interval="1"/> <!-- 每天滚动 -->
          </Policies>
          <DefaultRolloverStrategy max="30"/> <!-- 保留30个文件 -->
      </RollingFile>
      

0