我有许多运行各种版本的 Tomcat 8 的 Windows 服务器,并且我需要能够在 PowerShell 脚本中获取 Tomcat 日志路径,以便使用此脚本执行管理功能。
据称 Tomcat 提供了一个包含此信息的日志 API,但我没有成功使用 PowerShell 访问它(并且怀疑这远不是在任何情况下获得我想要的东西的最简单方法)。但是,我注意到,至少对于我的 Tomcat 服务器,日志路径是应用程序安装路径的子文件夹,例如:
C:\Program Files\Apache Software Foundation\Tomcat 8.0\logs
那么,如何以编程方式从我的 PowerShell 脚本中获取此日志路径?
在搜索可能包含日志目录路径的配置文件或注册表设置失败时,我偶然发现了一个包含 Tomcat 应用程序本身安装路径的注册表项,并结合我所追求的日志文件夹的知识在一个名为 的子文件夹
logs
,我有足够的信息让我的脚本创建日志记录路径。此注册表项将位于注册表中的可预测位置,并且“InstallPath”名称/属性在该位置是唯一的,因此我可以简单地进行递归搜索并匹配“InstallPath”以提取 Tomcat 的安装文件夹,并追加
\logs
以获取我的日志记录文件夹。添加基本错误处理检查后,如下所示:
很抱歉没有直接回答你的问题。
我建议像多实例一样使用单独的 CATALINA_BASE。您可以自由选择该路径,日志目录是该路径下方的日志。
有关详细信息,请参阅https://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt。
另外,它应该使更新 tomcat 更容易。