Java 在 CentOS 上的日志配置实操指南
一 前置准备与目录权限
sudo mkdir -p /var/log/myappsudo chown -R javauser:javauser /var/log/myapp && sudo chmod 755 /var/log/myapp二 使用 Logback 输出到文件并滚动
ch.qos.logback:logback-classic:1.2.11org.slf4j:slf4j-api:1.7.25<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/myapp/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/myapp/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</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>
三 使用 Log4j 2 输出到文件并滚动
org.apache.logging.log4j:log4j-core:2.17.1<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</Console>
<RollingFile name="RollingFile"
fileName="/var/log/myapp/app.log"
filePattern="/var/log/myapp/app.%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
四 系统级日志与集中化采集
五 常见问题与排查