成都市转运信息网

在Linux系统中查看Tomcat日志的具体方法

2026-03-31 13:22:01 浏览次数:1
详细信息

一、Tomcat日志文件位置

Tomcat日志通常位于以下目录中:

二、主要日志文件

catalina.out - 标准输出日志(主日志) catalina.YYYY-MM-DD.log - 按日期分割的日志 localhost.YYYY-MM-DD.log - 应用相关日志 localhost_access_log.YYYY-MM-DD.txt - 访问日志 manager.YYYY-MM-DD.log - 管理控制台日志

三、查看日志的常用命令

1. 实时查看日志(最常用)

# 查看实时日志输出
tail -f /var/log/tomcat9/catalina.out

# 查看实时日志并高亮错误
tail -f /var/log/tomcat9/catalina.out | grep --color -E "ERROR|Exception|error"

# 查看最后100行并实时跟踪
tail -100f /var/log/tomcat9/catalina.out

2. 查看历史日志

# 查看完整日志文件
cat /var/log/tomcat9/catalina.out

# 查看文件末尾内容
tail -n 100 /var/log/tomcat9/catalina.out  # 最后100行
tail -n 500 /var/log/tomcat9/catalina.out  # 最后500行

# 查看文件开头内容
head -n 100 /var/log/tomcat9/catalina.out  # 前100行

3. 按时间查看日志

# 查看特定时间段的日志
sed -n '/2023-10-01 10:00:00/,/2023-10-01 11:00:00/p' catalina.out

# 查看今天的所有日志
grep "$(date '+%Y-%m-%d')" /var/log/tomcat9/catalina.out

# 查看最近一小时的日志
grep "$(date '+%Y-%m-%d %H')" /var/log/tomcat9/catalina.out

4. 搜索和过滤日志

# 搜索错误信息
grep -i error /var/log/tomcat9/catalina.out
grep -i exception /var/log/tomcat9/catalina.out

# 搜索特定关键词(不区分大小写)
grep -i "connection refused" /var/log/tomcat9/catalina.out

# 显示错误及其前后10行上下文
grep -B 10 -A 10 -i error /var/log/tomcat9/catalina.out

# 多个条件搜索
grep -E "ERROR|WARN|Exception" /var/log/tomcat9/catalina.out

# 统计错误数量
grep -c "ERROR" /var/log/tomcat9/catalina.out

四、使用日志查看工具

1. less命令(支持搜索和翻页)

less /var/log/tomcat9/catalina.out
# less中常用操作:
#   /关键词  - 搜索
#   n        - 下一个匹配项
#   N        - 上一个匹配项
#   q        - 退出

2. 使用multitail(多文件同时监控)

# 安装multitail
sudo apt-get install multitail  # Ubuntu/Debian
sudo yum install multitail      # CentOS/RHEL

# 同时监控多个日志文件
multitail /var/log/tomcat9/catalina.out /var/log/tomcat9/localhost.log

五、高级日志分析技巧

1. 分析访问日志

# 查看访问最频繁的IP
awk '{print $1}' localhost_access_log.* | sort | uniq -c | sort -nr | head -20

# 统计HTTP状态码
awk '{print $9}' localhost_access_log.* | sort | uniq -c | sort -nr

# 查看慢请求(响应时间>5秒)
awk '$(NF-1) > 5000 {print}' localhost_access_log.*

2. 使用日志轮转工具

# 查看日志轮转配置
cat /etc/logrotate.d/tomcat9

# 手动执行日志轮转
sudo logrotate -f /etc/logrotate.d/tomcat9

六、Tomcat日志配置修改

如果需要修改日志级别或格式,可以编辑配置文件:

# 编辑日志配置文件
sudo vi /etc/tomcat9/logging.properties

# 修改日志级别(示例:将org.apache.catalina的日志级别改为FINE)
org.apache.catalina.level = FINE

七、实用脚本示例

监控Tomcat日志的脚本

#!/bin/bash
# monitor_tomcat.sh

LOG_FILE="/var/log/tomcat9/catalina.out"
ALERT_KEYWORDS="ERROR|Exception|OutOfMemory|java.lang"

echo "开始监控Tomcat日志..."
tail -n 0 -f "$LOG_FILE" | while read LINE
do
    if echo "$LINE" | grep -qE "$ALERT_KEYWORDS"; then
        echo "[$(date '+%Y-%m-%d %H:%M:%S')] 发现错误: $LINE"
        # 可以添加邮件或短信通知
    fi
done

日志清理脚本

#!/bin/bash
# 清理30天前的Tomcat日志
find /var/log/tomcat9/ -name "*.log" -mtime +30 -exec rm -f {} \;
find /var/log/tomcat9/ -name "*.txt" -mtime +30 -exec rm -f {} \;

常见问题排查

找不到日志文件

# 确认Tomcat安装位置
ps aux | grep tomcat

# 查找日志文件
find / -name "catalina.out" 2>/dev/null

日志文件过大

# 查看日志文件大小
du -sh /var/log/tomcat9/*

# 清空日志文件(谨慎操作)
> /var/log/tomcat9/catalina.out

查看Tomcat进程是否在运行

ps -ef | grep tomcat
systemctl status tomcat9  # 如果是systemd管理

注意事项

权限问题:查看日志可能需要sudo权限 日志轮转:定期检查日志文件大小,避免磁盘占满 生产环境:建议将重要日志接入ELK等日志分析系统 安全考虑:日志中可能包含敏感信息,注意保护

根据实际需求选择合适的查看方法,对于日常运维,tail -f 是最常用的实时监控方式。

相关推荐