journalctl查看Systemd服务的Java日志若Java应用以Systemd服务(如my-java-app.service)运行,journalctl是查看其实时日志的首选工具。
-f(follow)选项跟踪日志的新增内容,-u指定服务名。sudo journalctl -u my-java-app -f
-n 100:仅显示最新的100行日志(避免输出过多);--since "2025-09-26 10:00:00":从指定时间开始查看实时日志(如今日10点后的日志)。tail -f直接跟踪日志文件若Java应用将日志输出到文件(如/var/log/myapp.log或项目目录下的logs/app.log),tail -f是最直接的实时查看方式。
tail -f /path/to/java/logfile.log
catalina.out):tail -f /opt/tomcat/logs/catalina.out
grep过滤关键日志若日志文件较大,可通过grep筛选特定关键字(如ERROR、WARN),实时查看关键信息。
tail -f /path/to/logfile.log | grep "ERROR"
-E选项匹配复杂模式(如同时包含“error”和“timeout”的行):tail -f /path/to/logfile.log | grep -E "error|timeout"
-i选项(如grep -i "error")。若不确定日志文件路径,可先通过进程ID(PID)定位日志文件,再用tail -f查看。
ps -ef | grep java
输出示例:root 12345 6789 0 10:00 ? 00:00:05 /usr/bin/java -jar /opt/myapp.jar(PID为12345)。ls -l /proc/12345/fd | grep -i log
输出示例:lrwx------ 1 root root 64 Sep 26 10:00 1 -> /opt/myapp/logs/app.log(日志文件路径为/opt/myapp/logs/app.log)。tail -f /opt/myapp/logs/app.log
sudo(如sudo tail -f /var/log/syslog)。app.log转为app.log.1),tail -f会自动跟踪新文件(无需重启命令)。logback.xml)调整日志输出级别(如DEBUG、INFO)和文件路径,确保日志可查。