centos

CentOS Java日志配置及优化技巧

小樊
42
2025-11-17 19:03:42
栏目: 编程语言

CentOS Java日志配置与优化技巧

一 基础配置与定位

二 日志框架配置示例

<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/app.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <fileNamePattern>logs/app-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
      <maxFileSize>100MB</maxFileSize>
      <maxHistory>30</maxHistory>
      <totalSizeCap>10GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="INFO">
    <appender-ref ref="FILE"/>
  </root>
</configuration>
<Configuration status="WARN">
  <Appenders>
    <RollingFile name="RollingFile"
                 fileName="logs/app.log"
                 filePattern="logs/app-%d{yyyy-MM-dd}.%i.log.gz">
      <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        <SizeBasedTriggeringPolicy size="100 MB"/>
      </Policies>
      <DefaultRolloverStrategy max="30"/>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="INFO">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration>

三 系统级日志轮转与清理

/path/to/your/java/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0644 appuser appgroup
    postrotate
        systemctl reload myapp >/dev/null 2>&1 || true
    endscript
}

四 性能优化要点

五 运维与排错清单

0
看了该问题的人还看了