阅读量:1
Ubuntu Tomcat日志管理指南
一、日志文件定位
Tomcat的日志文件默认存储在以下路径(取决于安装方式):
- 系统级安装:
/var/log/tomcat/(如通过apt安装的Tomcat) - 手动解压安装:
/opt/tomcat/logs/(如下载二进制包解压的Tomcat) - 自定义路径:若修改过
server.xml中的AccessLogValve配置,可通过directory属性查看具体路径(如中的logs目录)。
二、日志轮转配置(核心管理手段)
日志轮转可防止日志文件无限增长,常用工具为logrotate(系统自带)。
1. 安装logrotate(若未安装)
sudo apt update
sudo apt install logrotate
2. 创建Tomcat专用配置文件
在/etc/logrotate.d/目录下创建tomcat文件:
sudo nano /etc/logrotate.d/tomcat
添加以下内容(根据实际路径调整):
/var/log/tomcat/*.log {
daily # 每天轮转
rotate 7 # 保留7个旧日志
compress # 压缩旧日志(如.gz格式)
missingok # 日志不存在时不报错
notifempty # 日志为空时不轮转
copytruncate # 复制原日志后清空,避免Tomcat写入锁定
}
说明:若需轮转catalina.out(控制台输出),可单独配置:
/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
3. 测试与自动运行
- 手动测试:强制执行轮转并显示详情:
sudo logrotate -vf /etc/logrotate.d/tomcat - 自动运行:Ubuntu默认通过
cron.daily每日执行logrotate,无需额外配置(可通过cat /etc/cron.daily/logrotate查看任务)。
三、实时日志查看与过滤
1. 实时查看日志
使用tail -f命令跟踪日志文件的新增内容:
tail -f /var/log/tomcat/catalina.out # 控制台日志
tail -f /var/log/tomcat/localhost_access_log.2025-11-05.txt # 访问日志
2. 过滤关键信息
- 过滤错误日志(含“ERROR”关键字):
grep "ERROR" /var/log/tomcat/catalina.out - 实时过滤(结合
tail -f):tail -f /var/log/tomcat/catalina.out | grep "ERROR"
3. 高级文本处理
- 统计错误数量:
grep "ERROR" /var/log/tomcat/catalina.out | wc -l - 按时间统计请求(需访问日志包含时间戳):
awk '{print $4, $7}' /var/log/tomcat/localhost_access_log.2025-11-05.txt | sort | uniq -c
四、日志级别调整
Tomcat的日志级别可通过conf/logging.properties文件配置,级别从高到低为:SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST。
示例:调整全局日志级别为WARNING
sudo nano /opt/tomcat/conf/logging.properties
修改以下行:
org.apache.catalina.level = WARNING
org.apache.coyote.level = WARNING
org.apache.jasper.level = WARNING
修改后需重启Tomcat生效:
sudo systemctl restart tomcat
五、日志分析与高级工具
1. 使用ELK Stack(Elasticsearch+Logstash+Kibana)
适用于大规模日志分析,可实现日志收集、存储、可视化。步骤:
- 安装Elasticsearch、Logstash、Kibana;
- 配置Logstash读取Tomcat日志(如
catalina.out); - 通过Kibana创建 dashboard 展示日志趋势、错误统计等。
2. 使用Graylog
开源日志管理工具,支持集中收集、搜索、告警。步骤:
- 安装Graylog Server;
- 配置Tomcat日志输出到Graylog(如通过GELF格式);
- 在Graylog中创建警报规则(如错误日志超过阈值时通知)。
六、常见问题解决
1. 日志乱码
- 原因:Tomcat或系统编码与日志文件编码不一致(如UTF-8与GBK)。
- 解决:
- 修改Tomcat的
server.xml,设置Connector的URIEncoding为UTF-8:<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" /> - 在
catalina.sh(或catalina.bat)中添加JVM参数:export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
- 修改Tomcat的
2. 日志文件过大
- 解决:除logrotate外,可使用
cronolog工具按日期分割日志(需修改catalina.sh中的CATALINA_OUT变量):sudo apt install cronolog sudo sed -i 's|CATALINA_OUT=".*"|CATALINA_OUT="$CATALINA_LOG_DIR/catalina.%Y-%m-%d.out"|g' /opt/tomcat/bin/catalina.sh sudo systemctl restart tomcat
以上就是关于“Ubuntu Tomcat如何进行日志管理”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm