在 CentOS 上配置 Java 应用的日志路径,通常取决于你使用的日志框架(如 Log4j、Logback、java.util.logging 等)。下面按常见情况说明。
不要把日志写死在代码里,而是通过配置文件指定路径。
log4j.appender.file.File=/var/log/myapp/app.log
示例:
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/myapp/app.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
<File name="File" fileName="/var/log/myapp/app.log">
<PatternLayout pattern="%d %p %c{1.} - %m%n"/>
</File>
logback-spring.xml 或 logback.xml:
<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>
</rollingPolicy>
</appender>
logging.properties:
handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=/var/log/myapp/app.log
启动参数:
java -Djava.util.logging.config.file=/etc/myapp/logging.properties -jar app.jar
java -Dlog.path=/var/log/myapp -jar app.jar
配置文件中引用:
<file>${log.path}/app.log</file>
或:
log4j.appender.file.File=${log.path}/app.log
sudo mkdir -p /var/log/myapp
sudo chown appuser:appuser /var/log/myapp
sudo semanage fcontext -a -t var_log_t "/var/log/myapp(/.*)?"
sudo restorecon -Rv /var/log/myapp
[Service]
User=appuser
application.yml:
logging:
file:
name: /var/log/myapp/app.log
或:
logging:
config: classpath:logback-spring.xml
/var/log/<应用名>/app.log
/var/log/<应用名>/app.2026-01-21.log
如果你能告诉我:
我可以给你一份可直接用的配置示例。