
本文介绍通过修改 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
✅ 操作步骤:
- 定位到 stdout.properties 文件(若不存在,请确认 Probe9 已正确部署且版本 ≥ 3.0.0);
- 使用文本编辑器以 UTF-8 编码打开;
- 在文件末尾新增一行:
= (如 app.log=Order Service Log); - 保存文件(无需重启 Tomcat 或重新部署 Probe9);
- 刷新浏览器访问 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 的深度集成,大幅提升运维可观测性与故障排查效率。










