“CentOS 上 Java 程序启动后日志没有任何记录”这个问题原因很多,下面按最常见 → 较少见的顺序帮你排查。
Java 日志一般来自这几类:
不同情况排查方式不同。
现象
logs/ 目录没有任何文件检查
ls -l your/log/path
解决
mkdir -p /opt/app/logs
chown -R appuser:appuser /opt/app/logs
现象
检查
jar tf yourapp.jar | grep log
典型错误
logback-spring.xml 但用了普通 jar解决
java -jar app.jar --logging.config=classpath:logback.xml
现象
检查 logback / log4j 配置
<root level="INFO">
如果是:
<root level="OFF">
那当然啥都没有。
错误写法
nohup java -jar app.jar &
日志去哪了?
nohup.out正确写法
nohup java -jar app.jar > /opt/app/logs/app.log 2>&1 &
现象
journalctl 里啥都没有查看方式
journalctl -u yourapp.service -f
service 示例
[Service]
ExecStart=/usr/bin/java -jar /opt/app/app.jar
StandardOutput=journal
StandardError=journal
检查
ps -ef | grep java
如果没进程:
java -jar app.jar
直接前台跑,看报错。
df -h
df -i
满了也会“无日志”。
你可以依次执行:
ps -ef | grep java
ls -l /your/log/path
cat nohup.out
journalctl -u yourapp -n 50
java -jar app.jar
你可以补充:
我可以直接帮你写 正确的启动命令或 systemd 配置。