Java项目的日志文件路径取决于配置方式,常见位置包括:
./logs/或项目根目录下的.log文件;log4j.properties或logback.xml中的logging.file.path(如logs/app.log);$CATALINA_HOME/logs/(如catalina.out);若为Spring Boot,默认在./logs/或/var/log/下。使用cat命令直接输出文件全部内容(适合小文件):
cat /path/to/java.log 使用less命令(支持上下翻页、搜索):
less /path/to/java.log # 搜索关键词(按/键输入):/ERROR # 退出:按q键 使用tail -f命令(适合跟踪实时日志,如编译错误或运行异常):
tail -f /path/to/java.log # 实时查看最后100行:tail -n 100 -f /path/to/java.log 使用grep命令过滤关键词(如“ERROR”“Exception”):
grep "ERROR" /path/to/java.log # 输出包含ERROR的行 grep -i "error" /path/to/java.log # 忽略大小写 grep -E "ERROR|Exception" /path/to/java.log # 正则表达式匹配 awk:提取特定字段(如时间戳+日志级别):awk '{print $1, $2, $3}' /path/to/java.log # 假设前3列为时间、级别、消息 sed:提取包含关键词的行:sed -n '/ERROR/p' /path/to/java.log # 仅输出包含ERROR的行 若Java应用以systemd服务运行(如my-java-app.service),可使用journalctl命令查看系统级日志:
sudo journalctl -u my-java-app.service # 查看指定服务的完整日志 sudo journalctl -f -u my-java-app.service # 实时监控服务日志 sudo journalctl --since "2025-11-08 10:00:00" --until "2025-11-08 11:00:00" -u my-java-app.service # 按时间范围过滤 若偏好图形界面,可使用以下工具:
logback.xml中是否启用了文件输出);javac MyClass.java > compile.log 2>&1 # 将标准输出和错误输出都写入compile.log