logs文件夹(通常位于/opt/tomcat/logs或$CATALINA_HOME/logs),使用tail -f catalina.out命令可实时查看并滚动显示最新日志内容,也可用less或cat查看其他日志文件。Tomcat日志核心目录
默认路径为:$CATALINA_HOME/logs/
($CATALINA_HOME是Tomcat安装目录,可通过 echo $CATALINA_HOME 或 ps -ef | grep tomcat 查看)

关键日志文件:
- catalina.out
主控制台日志,包含启动信息、未捕获异常、System.out.println()输出。 
- catalina.yyyy-mm-dd.log
每日归档的完整日志(日期替换实际日期)。 
- localhost.yyyy-mm-dd.log
应用部署日志(如Servlet加载错误)。  
- localhost_access_log.yyyy-mm-dd.txt
HTTP访问日志(请求路径、状态码、响应时间)。 
查看日志的5种方法
方法1:实时监控日志(最常用)
tail -f $CATALINA_HOME/logs/catalina.out
- -f参数:持续输出新增内容(调试必备)。
- 终止监控:按 Ctrl+C。
方法2:过滤关键错误(如内存溢出)
grep -i "outofmemoryerror" catalina.out
- -i:忽略大小写(如 OutOfMemoryError)。
- 组合命令:grep "ERROR" catalina.out -A 5(显示匹配行及后5行)。
方法3:按时间范围查看
# 查看最近100行 tail -n 100 catalina.out # 查看今日日志(假设日期为2025-10-01) cat catalina.2025-10-01.log
方法4:多文件联合检索
# 在所有日志中搜索关键词 grep "NullPointerException" $CATALINA_HOME/logs/*.log
方法5:使用less分页查看
less catalina.out
- 操作键:
- 空格键:向下翻页
- :搜索(按 n跳转下一个)
- q:退出
 
高级技巧
- 
动态切换日志文件 
 当catalina.out过大时(如超过2GB),用cp /dev/null catalina.out清空文件(先备份!)。
- 
权限问题处理 
 若提示Permission denied:sudo chown -R $USER:$USER $CATALINA_HOME/logs/ # 修改日志所属用户 sudo chmod 755 logs/ # 开放目录权限 
- 
自定义日志路径 
 修改$CATALINA_HOME/conf/logging.properties, 1catalina.org.apache.juli.AsyncFileHandler.directory = /opt/tomcat_logs 
- 
日志切割工具 
 使用logrotate自动归档(避免文件过大):/opt/tomcat/logs/catalina.out { daily rotate 30 compress missingok copytruncate }
常见问题排查场景
- 启动失败:
 grep "SEVERE" catalina.out检查致命错误。
- HTTP 404响应:
 查看localhost_access_log确认请求路径。
- 内存泄漏:
 搜索GC overhead limit exceeded或java.lang.OutOfMemoryError。
- 应用未加载:
 检查localhost.log中的Deployment failure。
安全提示
- 禁止直接修改生产日志:通过只读命令查看(如 cat、less)。
- 敏感信息脱敏:确保日志不输出密码、密钥等(配置 log4j.properties过滤)。
引用说明基于Apache Tomcat 9官方文档及Linux Bash操作标准实践,适用于CentOS/Ubuntu等主流发行版,命令经过实测验证,符合服务器安全规范。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/33409.html
 
                