温馨提示×

Debian下Tomcat日志文件在哪

小樊
45
2026-01-03 01:25:43
栏目: 智能运维

默认日志目录

  • 在 Debian 上,Tomcat 的日志默认位于 $CATALINA_BASE/logs。若未显式设置 CATALINA_BASE,则与 $CATALINA_HOME(Tomcat 安装目录)相同。常见路径示例:
    • 手动安装:/opt/tomcat/logs
    • 包管理安装:/var/lib/tomcat9/logs(Debian 9/10 常见为 tomcat8/9 包)
    • 历史或自定义安装:/usr/local/tomcat/logs
  • 快速确认目录的方法:
    • 查看进程环境变量:ps -ef | grep tomcat | grep -E 'CATALINA_BASE|CATALINA_HOME'
    • 进入目录:cd $CATALINA_BASE/logs && pwd

常见日志文件与作用

  • catalina.out:标准输出与标准错误(应用启动、未捕获异常等常在这里出现)。
  • catalina.YYYY-MM-DD.log:Tomcat 引擎启动、关闭及重要生命周期日志。
  • localhost.YYYY-MM-DD.log:与 Host 相关、应用内部日志(Servlet/JSP 启动、业务日志等)。
  • manager.YYYY-MM-DD.log / host-manager.YYYY-MM-DD.log:管理应用(Manager/Host-Manager)的操作日志。
  • 访问日志(access log):默认由 conf/server.xml 中的 AccessLogValve 生成,通常写入 $CATALINA_BASE/logs/localhost_access_log.YYYY-MM-DD.txt,具体文件名与格式可在 Valve 配置中自定义。

如何快速查看与排查

  • 实时查看控制台输出:tail -f $CATALINA_BASE/logs/catalina.out
  • 按关键字筛选错误:grep -i "ERROR\|SEVERE\|Exception" $CATALINA_BASE/logs/catalina.out
  • 查看当日引擎日志:less $CATALINA_BASE/logs/catalina.$(date +%F).log
  • 查看应用日志:less $CATALINA_BASE/logs/localhost.$(date +%F).log
  • 查看访问日志:less $CATALINA_BASE/logs/localhost_access_log.$(date +%F).txt
  • 若目录不存在或为空,先确认 Tomcat 是否在运行,以及 CATALINA_BASE 是否指向正确实例。

自定义与轮转要点

  • 日志级别与输出:编辑 conf/logging.properties(JUL 配置),可调整如 SEVERE/WARNING/INFO/FINE 等级,控制输出详细程度与文件输出。
  • 访问日志路径与格式:在 conf/server.xmlAccessLogValve 中设置 directory(输出目录)、pattern(日志格式)等属性,即可自定义访问日志位置与内容。
  • 日志轮转:
    • 系统级:使用 logrotate 管理 catalina.out 等文件(按天轮转、保留份数、压缩等),在 /etc/logrotate.d/tomcat 中配置。
    • 历史方案:部分环境使用 cronologcatalina.out 按日期分割(需安装并在启动脚本中配置)。
  • 应用自身日志:若应用使用 Log4j/SLF4J 等框架,日志路径由应用配置决定,常见做法是用 ${catalina.base}/logs 或相对路径写入 Tomcat 日志目录。

0