Tomcat日志在CentOS如何配置管理
导读:CentOS 上 Tomcat 日志的配置与管理 一 日志位置与实时查看 日志默认目录为 $CATALINA_HOME/logs,常见文件包括:catalina.out、catalina.yyyy-mm-dd.log、localhost....
CentOS 上 Tomcat 日志的配置与管理
一 日志位置与实时查看
- 日志默认目录为 $CATALINA_HOME/logs,常见文件包括:catalina.out、catalina.yyyy-mm-dd.log、localhost.yyyy-mm-dd.log、localhost_access_log.yyyy-mm-dd.txt、以及 manager/host-manager 相关日志。实时查看常用命令:
- 查看控制台输出:cd $CATALINA_HOME/logs & & tail -f catalina.out
- 查看按天的运行日志:tail -f catalina.2025-12-11.log
- 查看访问日志:tail -f localhost_access_log.2025-12-11.txt
- 若以 systemd 管理 Tomcat,可用:journalctl -u tomcat.service -f
- 以上路径与查看方式适用于常规安装与 systemd 场景。
二 运行日志与访问日志配置
- 运行日志(JULI):编辑 $CATALINA_HOME/conf/logging.properties,为不同组件设置级别与输出。示例(将 catalina 日志级别调为 FINE):
- handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
- 1catalina.org.apache.juli.FileHandler.level = FINE
- 1catalina.org.apache.juli.FileHandler.directory = ${ catalina.base} /logs
- 1catalina.org.apache.juli.FileHandler.prefix = catalina.
- 1catalina.org.apache.juli.FileHandler.formatter = java.util.logging.SimpleFormatter
- 访问日志:编辑 $CATALINA_HOME/conf/server.xml,在 Host 内配置 AccessLogValve。示例(常用 Combined 模式字段):
- < Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs” prefix=“localhost_access_log.” suffix=“.txt” pattern=“%h %l %u %t “%r” %s %b” />
- 修改后重启 Tomcat 生效。
三 catalina.out 自动轮转方案
- 方案 A(推荐)— 使用 logrotate 管理 catalina.out
- 新建配置:/etc/logrotate.d/tomcat
- /usr/local/tomcat/logs/catalina.out {
- daily
- rotate 7
- compress
- missingok
- notifempty
- create 640 tomcat tomcat
- copytruncate
- }
- /usr/local/tomcat/logs/catalina.out {
- 说明:
- 使用 copytruncate 可避免重启或信号通知;若使用 postrotate 发送 HUP,请确保 Tomcat 支持(如使用 kill -HUP 或 systemd 的日志句柄接管)。
- 测试:logrotate -d /etc/logrotate.d/tomcat(语法检查),logrotate -f /etc/logrotate.d/tomcat(强制执行)。
- 新建配置:/etc/logrotate.d/tomcat
- 方案 B — 使用 cronolog 按日切分 stdout
- 安装 cronolog(示例路径:/usr/local/sbin/cronolog)
- 修改 $CATALINA_HOME/bin/catalina.sh:将启动行改为
- org.apache.catalina.startup.Bootstrap “$@” start 2> & 1 |/usr/local/sbin/cronolog “$CATALINA_BASE/logs/catalina-%Y-%m-%d.out” &
- 注释或删除 touch “$CATALINA_OUT” 行,重启 Tomcat 后在 logs 目录可见按日生成的 catalina-YYYY-MM-DD.out。
四 日志级别与输出控制
- 降低噪音或提升细节:在 logging.properties 调整级别(如 INFO/WARNING/FINE/FINER/FINEST/OFF)。示例:
- .level = INFO
- 1catalina.org.apache.juli.FileHandler.level = FINE
- java.util.logging.ConsoleHandler.level = WARNING
- 应用业务包日志:为你的应用包单独设级,便于排错
- com.yourapp.level = DEBUG
- com.yourapp.handlers = java.util.logging.ConsoleHandler
- 修改后重启 Tomcat 生效。
五 集中化与清理策略
- 集中化:通过 rsyslog 将 Tomcat 日志发往远程 Syslog 服务器(在 rsyslog 配置中写入相应规则并重启 rsyslog),便于统一采集与审计。
- 自动清理:除 logrotate 的 rotate 7 + compress 外,也可编写清理脚本定期删除 N 天前日志,例如:
- find /usr/local/tomcat/logs -name “catalina.out.*” -mtime +7 -delete
- 配合 crontab 每天 2 点执行,控制磁盘占用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Tomcat日志在CentOS如何配置管理
本文地址: https://pptw.com/jishu/769998.html
