如何在 Tomcat 9 中将自定义日志文件添加到 Probe9 日志监控列表

发布时间 - 2025-12-29 00:00:00    点击率:

本文介绍通过修改 probe9 的 `stdout.properties` 配置文件,将 log4j2 生成的应用日志(如 `app.log`)无缝集成至 probe9 的 web 日志浏览界面(`/probe9/logs/list.htm`),无需重启 tomcat 或修改应用代码。

Probe9 是一款轻量级的 Tomcat 管理与监控工具,其日志浏览功能默认仅显示 Tomcat 自身的标准输出日志(如 catalina.out、localhost.log 等)。当您的 Web 应用使用 Log4j2 并将日志写入独立文件(例如 log/app.log 或 logs/myapp.log)时,这些文件默认不会出现在 Probe9 的日志列表中。幸运的是,Probe9 提供了可配置的白名单机制,允许管理员手动注册自定义日志路径。

关键配置文件位于:

apache-tomcat-9.0.x/webapps/probe9/WEB-INF/classes/stdout.properties

该文件本质是一个 Java Properties 文件,每行定义一个可被 Probe9 识别并展示的日志文件名(注意:仅匹配文件名,不包含路径)。例如:

# 默认已存在的条目(根据 Probe9 版本略有差异)
catalina.out=Tomcat Catalina Output
localhost.log=Tomcat Localhost Log
manager.log=Tomcat Manager Log
# —— 添加您自己的日志文件 ——
app.log=My Application Log
myapp-debug.log=MyApp Debug Log

操作步骤

  1. 定位到 stdout.properties 文件(若不存在,请确认 Probe9 已正确部署且版本 ≥ 3.0.0);
  2. 使用文本编辑器以 UTF-8 编码打开;
  3. 在文件末尾新增一行:=(如 app.log=Order Service Log);
  4. 保存文件(无需重启 Tomcat 或重新部署 Probe9);
  5. 刷新浏览器访问 http://localhost:8080/probe9/logs/list.htm,即可看到新添加的日志项。

⚠️ 注意事项

  • Probe9 仅扫描 $CATALINA_BASE/logs/ 目录下的文件(即 Tomcat 的 logs 目录),因此请确保您的 Log4j2 配置中 的路径为相对 logs/ 的路径,或使用 ${catalina.base}/logs/xxx.log 显式指定;
  • 不支持通配符(如 *.log)或子目录嵌套(如 logs/app/error.log 将无法识别);
  • 修改后若未生效,请检查 Tomcat 进程用户对 stdout.properties 是否有读取权限,并确认浏览器缓存已清除;
  • 此方法不依赖 Log4j2 配置变更,也无需将 log4j2.xml 放入 tomcat/lib/ —— 该做法既无效也不推荐(会污染 Tomcat 全局类路径)。

通过这一简洁配置,即可实现应用日志与 Probe9 的深度集成,大幅提升运维可观测性与故障排查效率。


# java  # apache  # 编码  # 浏览器  # app  # 工具  # tomcat  # 配置文件  # 日志监控 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在万网利用已有域名快速建站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何正确选择百度移动适配建站域名?  JavaScript如何实现错误处理_try...catch如何捕获异常?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何在IIS7上新建站点并设置安全权限?  Laravel如何使用.env文件管理环境变量?(最佳实践)  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  利用vue写todolist单页应用  Laravel如何实现文件上传和存储?(本地与S3配置)  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  免费视频制作网站,更新又快又好的免费电影网站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速生成凡客建站的专业级图册?  Laravel如何使用Blade模板引擎?(完整语法和示例)  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  JavaScript常见的五种数组去重的方式  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  C++时间戳转换成日期时间的步骤和示例代码  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Python进程池调度策略_任务分发说明【指导】  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Bootstrap CSS布局之列表  EditPlus中的正则表达式 实战(1)  js代码实现下拉菜单【推荐】  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何获取上海专业网站定制建站电话?  node.js报错:Cannot find module 'ejs'的解决办法  网易LOFTER官网链接 老福特网页版登录地址  高防服务器租用指南:配置选择与快速部署攻略  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何用PHP快速搭建高效网站?分步指南  简历没回改:利用AI润色让你的文字更专业  如何在万网自助建站平台快速创建网站?  重庆市网站制作公司,重庆招聘网站哪个好?  如何快速生成可下载的建站源码工具?  如何快速查询网址的建站时间与历史轨迹?  微信小程序 wx.uploadFile无法上传解决办法  JS实现鼠标移上去显示图片或微信二维码  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  如何在搬瓦工VPS快速搭建网站?