当前位置: 首页 > java >正文

Tomcat 服务器日志

在这里插入图片描述

这些日志文件均来自Tomcat服务器,分别记录不同维度的运行和操作信息,具体如下:

  1. catalina.out
    Tomcat的核心日志文件,记录Tomcat服务器自身的启动、停止、运行过程中的系统级信息,包括:

    • Tomcat启动时的初始化日志(如端口绑定、组件加载等);
    • 服务器运行中的错误信息(如配置错误、组件异常等);
    • 部署在Tomcat上的应用程序输出的标准日志(如应用的System.out/System.err打印内容、未指定输出路径的日志框架输出等)。
  2. host-manager.2025-07-24.log
    与Tomcat的host-manager管理应用相关的日志。host-manager是Tomcat内置的虚拟主机管理工具(通过http://localhost:8080/host-manager访问),用于管理虚拟主机(如添加、删除、配置虚拟主机)。
    该日志记录:

    • 通过host-manager工具执行的操作(如创建虚拟主机、修改配置等);
    • 访问host-manager的请求记录、权限验证结果;
    • 操作过程中出现的错误或异常信息。
  3. localhost.2025-07-28.log
    与Tomcat默认虚拟主机(localhost)相关的应用程序日志。Tomcat中“虚拟主机”用于隔离不同域名/应用的部署,localhost是默认虚拟主机。
    该日志主要记录:

    • 部署在localhost虚拟主机上的应用程序的运行日志(如Servlet初始化、过滤器执行、应用内部异常等);
    • 与该虚拟主机相关的系统事件(如部署/卸载应用、配置加载等)。
  4. localhost_access_log.2025-07-26.txt
    localhost虚拟主机的HTTP访问日志,记录所有对该虚拟主机上应用的HTTP请求详情,格式通常包含:

    • 访问时间、客户端IP地址;
    • 请求方法(如GET/POST)、请求路径;
    • 响应状态码(如200/404/500);
    • 响应大小、请求耗时;
    • 客户端浏览器/工具标识(User-Agent)等。
      用于分析访问量、排查异常请求等。
  5. manager.2025-07-24.log
    与Tomcat的manager管理应用相关的日志。manager是Tomcat内置的应用管理工具(通过http://localhost:8080/manager访问),用于部署、启动、停止、卸载应用程序等。
    该日志记录:

    • 通过manager工具执行的操作(如部署WAR包、重启应用、查看状态等);
    • 访问manager的请求记录、权限验证结果;
    • 操作过程中出现的错误或异常信息(如部署失败、权限不足等)。

总结:这些日志分别覆盖了Tomcat服务器核心运行、虚拟主机管理、应用管理、应用运行及HTTP访问的全链路信息,是排查Tomcat及应用问题的重要依据。

Tomcat 日志的自动切割和保留机制,取决于其日志配置(默认通过 conf/logging.properties 配置)和是否额外引入了外部工具(如 logrotate),具体情况如下:

1. 带日期的日志(如 host-manager.2025-07-24.log、localhost.2025-07-28.log 等)

这些日志属于 按日期滚动的日志,默认情况下:

  • 自动切割:Tomcat 默认配置中,这类日志会通过 java.util.logging 框架按 自动切割(即每天生成一个新的日志文件,文件名带上当天日期)。例如,7月24日的操作会记录到 host-manager.2025-07-24.log,7月25日则自动切换到 host-manager.2025-07-25.log,旧文件不再写入。
  • 自动保留:Tomcat 默认不会自动删除旧日志,所有历史日志文件会一直保留在 logs 目录下,直到手动删除或通过外部工具清理。

2. catalina.out

这是 Tomcat 的核心控制台日志,默认情况下:

  • 自动切割:Tomcat 原生不支持对 catalina.out 进行自动切割,它会一直以追加方式写入同一个文件,随着时间推移文件会越来越大(可能占用大量磁盘空间)。
  • 自动保留:由于默认不切割,自然也不存在“保留最近几天”的机制,需要手动配置切割工具(如 logrotatecronolog 等)来实现按大小或按时间切割,并设置保留策略(如保留30天的历史文件)。

如何实现自动保留最近几天的日志?

如果需要自动清理旧日志(保留最近 N 天),需额外配置:

  1. 对于按日期滚动的日志:可修改 conf/logging.properties,通过配置 maxDays 参数限制保留天数(需 Tomcat 8.5+ 版本,旧版本不支持)。例如:
    # 对 localhost 日志设置保留最近7天
    1localhost.org.apache.juli.AsyncFileHandler.maxDays = 7
    
  2. 对于 catalina.out:需通过外部工具(如 Linux 的 logrotate)配置切割和保留策略。例如,创建 logrotate 配置文件,设置按天切割、保留30天日志,并自动删除更旧的文件。

总结:

  • 带日期的日志默认 按天自动切割,但不自动删除
  • catalina.out 默认 不切割、不自动删除
  • 若需“自动保留最近几天”,需手动配置 Tomcat 日志参数(针对带日期的日志)或依赖外部工具(针对 catalina.out)。
http://www.xdnf.cn/news/16683.html

相关文章:

  • 解决Nginx的HTTPS跨域内容显示问题
  • REST、GraphQL、gRPC、tRPC深度对比
  • Buck的Loadline和DVS区别和联系
  • WebSocket 简介与在 Vue 中的使用指南
  • Ganttable 时间仪表盘
  • 笔记本电脑开机慢系统启动慢怎么办?【图文详解】win7/10/11开机慢
  • PAT 甲级题目讲解:1011《World Cup Betting》
  • 如何修改VM虚拟机中的ip
  • MaxKB+MinerU:通过API实现PDF文档解析并存储至知识库
  • 【WPS】邮件合并教程\Excel批量写入数据进Word模板
  • 阿里云AI代码助手通义灵码开发指导
  • Mysql-索引
  • sql developer 中文显示问号 中文显示乱码 错误消息显示问号
  • 操作系统:总结(part_1,part_2)
  • Linux的应用层协议——http和https
  • 微服务的编程测评系统8-题库管理-竞赛管理
  • 洛谷 P11230:[CSP-J 2024 T4] 接龙 ← 图论+动态规划
  • 【Spark征服之路-4.3-Kafka】
  • ECharts从入门到精通:解锁数据可视化的魔法世界
  • 【从基础到实战】STL string 学习笔记(上)
  • Nestjs框架: 关于 OOP / FP / FRP 编程
  • python 中 `batch.iloc[i]` 是什么:integer location
  • 不可变类字段修复建议
  • UE5多人MOBA+GAS 番外篇:将冷却缩减属性应用到技能冷却中
  • 常见CMS
  • MCP提示词工程:上下文注入的艺术与科学
  • Visual Studio Code 使用指南 (2025年版)
  • 从硬编码到自主智能体:营销AI的20年技术演进与未来展望
  • LeetCode 283 - 移动零
  • Python 程序设计讲义(27):字符串的用法——字符串的常用操作