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.xml 的 AccessLogValve 中设置 directory(输出目录)、pattern(日志格式)等属性,即可自定义访问日志位置与内容。
- 日志轮转:
- 系统级:使用 logrotate 管理 catalina.out 等文件(按天轮转、保留份数、压缩等),在 /etc/logrotate.d/tomcat 中配置。
- 历史方案:部分环境使用 cronolog 对 catalina.out 按日期分割(需安装并在启动脚本中配置)。
- 应用自身日志:若应用使用 Log4j/SLF4J 等框架,日志路径由应用配置决定,常见做法是用 ${catalina.base}/logs 或相对路径写入 Tomcat 日志目录。