温馨提示×

Debian Tomcat日志中如何查看启动时间

小樊
33
2025-11-16 19:30:10
栏目: 智能运维

Debian Tomcat 日志查看启动时间

方法一 从 catalina.out 直接定位启动完成时间

  • 在 Debian 上,Tomcat 的日志默认位于 /var/log/tomcat* 或安装目录的 logs/。使用以下命令快速查看最近一次启动完成的时间:
    • 实时跟踪并定位关键字:
      • sudo tail -f /var/log/tomcat*/catalina.out | grep -E “Server startup|Server startup in [0-9]+ ms”
    • 在已轮转的日志中查找最近一次启动完成时间:
      • sudo zgrep -E “Server startup|Server startup in [0-9]+ ms” /var/log/tomcat*/catalina.out*
  • 判定依据:当看到日志行包含 “Server startup”“Server startup in … ms” 时,该行的时间戳即为本次启动完成时间。示例输出:
    • 12-Jun-2018 12:39:50.343 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 240280 ms
    • 2021-09-01 14:25:36 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/9.0.52
  • 提示:若当前日志文件被轮转(如 catalina.out.1.gz),使用 zgrep 能同时检索压缩与未压缩文件。

方法二 从系统服务信息获取启动时间

  • 如果 Tomcat 以 systemd 服务运行(服务名可能为 tomcattomcat9),可直接查看服务的启动时间与运行时长:
    • 查看状态(含启动时间与运行时长):sudo systemctl status tomcat
    • 仅打印启动时间:systemctl show -p ActiveEnterTimestamp tomcat
    • 仅打印运行时长:systemctl show -p ActiveEnterTimestampMonotonic tomcat
  • 适用场景:无需读取日志文件,快速确认服务层面的启动时间与已运行时长。

方法三 从进程启动时间交叉核对

  • 通过进程信息查看 JVM 的启动时间,作为日志时间的旁证:
    • 按进程名:ps -eo pid,lstart,cmd | grep tomcat
    • 已知进程号(PID):ps -p -o lstart,cmd
  • 说明:该时间为 JVM 进程的启动时刻,通常略早于日志中出现 “Server startup” 的时间(因初始化与部署会占用额外时间)。

常见问题与排查

  • 日志路径不确定:Debian 常见路径为 /var/log/tomcat*;若为手动安装,常见为 /opt/tomcat/logs/usr/share/tomcat/logs。可用 sudo find /var/log /opt /usr/share -name catalina.out* 查找。
  • 日志被轮转:使用 zgrep 检索历史轮转文件(如 .gz)。
  • 未找到 Server startup 行:可能日志级别或输出被重定向,先确认 catalina.out 是否有内容(tail -n50 /var/log/tomcat*/catalina.out),或改用系统服务方式核对时间。

0