在 Ubuntu 上,Java 日志的位置取决于你运行的是什么 Java 程序以及它是怎么配置的,常见情况如下:
如果你是用:
java -jar xxx.jar
或
java Main
System.out.println()
System.err.println()
java -jar app.jar > app.log 2>&1 &
日志在:./app.log
日志路径由配置文件决定,常见文件:
logback.xmllog4j2.xmllogging.properties常见默认路径:
./logs/
/var/log/xxx/
如果你跑的是 Java Web 应用(Tomcat):
/var/log/tomcat9/
/var/log/tomcat/
catalina.out # 最重要,所有控制台输出
catalina.YYYY-MM-DD.log
localhost.log
manager.log
host-manager.log
查看实时日志:
tail -f /var/log/tomcat9/catalina.out
./logs/spring.logapplication.properties:
logging.file.name=/var/log/myapp.log
logging.level.root=INFO
如果是:
systemctl start yourapp
查看日志:
journalctl -u yourapp -f
Java 输出会在这里,而不是文件。
ps -ef | grep java
lsof -p <pid> | grep log
| 场景 | 日志位置 |
|---|---|
| 普通 jar | 终端 / 重定向文件 |
| Tomcat | /var/log/tomcat*/ |
| Spring Boot | logs/ 或配置路径 |
| systemd | journalctl |
| Docker | docker logs |
如果你能告诉我:
我可以直接帮你定位到具体文件。