在 CentOS 上,Java 日志在哪里主要取决于你是怎么运行 Java 程序的,下面按常见情况说明:
大多数 Java 程序(Spring Boot、Tomcat 等)会自己写日志:
日志路径由配置文件决定,例如:
logback.xmllog4j2.xmlapplication.yml常见位置:
/var/log/your-app/
/opt/your-app/logs/
~/logs/
如果你不知道路径,可以查进程:
ps -ef | grep java
然后看启动参数里有没有:
-Dlogging.file=/var/log/app.log
如果是 Tomcat 运行的 Java 应用:
/var/log/tomcat/
/var/log/tomcat8/
/opt/tomcat/logs/
常见日志文件:
catalina.out(最重要)catalina.YYYY-MM-DD.loglocalhost.log实时查看:
tail -f /var/log/tomcat/catalina.out
如果是用 systemctl 启动的:
journalctl -u your-java-service
实时查看:
journalctl -u your-java-service -f
查看最近 100 行:
journalctl -u your-java-service -n 100
很多 Java 程序默认输出到控制台:
nohup java -jar app.jar > app.log 2>&1 &
查看:
cat app.log
tail -f app.log
如果是 JVM 崩溃(少见):
/var/log/messages
/var/log/syslog
或者当前目录下的:
hs_err_pidXXXX.log
# 找 Java 进程
ps -ef | grep java
# 找日志文件
find / -name "*.log" 2>/dev/null | grep -i java
# 看系统日志
journalctl -xe
如果你能告诉我:
我可以帮你精准定位日志文件。