首页主机资讯Tomcat日志在CentOS如何配置管理

Tomcat日志在CentOS如何配置管理

时间2025-12-12 00:41:04发布访客分类主机资讯浏览401
导读:CentOS 上 Tomcat 日志的配置与管理 一 日志位置与实时查看 日志默认目录为 $CATALINA_HOME/logs,常见文件包括:catalina.out、catalina.yyyy-mm-dd.log、localhost....

CentOS 上 Tomcat 日志的配置与管理

一 日志位置与实时查看

  • 日志默认目录为 $CATALINA_HOME/logs,常见文件包括:catalina.outcatalina.yyyy-mm-dd.loglocalhost.yyyy-mm-dd.loglocalhost_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
        • }
    • 说明:
      • 使用 copytruncate 可避免重启或信号通知;若使用 postrotate 发送 HUP,请确保 Tomcat 支持(如使用 kill -HUP 或 systemd 的日志句柄接管)。
      • 测试:logrotate -d /etc/logrotate.d/tomcat(语法检查),logrotate -f /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
如何调整CentOS中Tomcat内存设置 如何升级CentOS Apache2版本

游客 回复需填写必要信息