我在macOS Sierra上使用Homebrew安装了Apache Tomcat 8.5.9。当我启动Tomcat服务器时,catalina.out未按预期在/usr/local/Cellar/tomcat/8.5.9/libexec/logs中创建。
我试过了:
echo "log file location $CATALINA_OUT"
,它被设置为libexec / logs / catalina.out的默认位置。在此更改之后,我可以看到setenv.sh正在正确修改此位置。我正在看其他日志:
Tomcat服务器正常运行,因为我能够运行我的WAR文件并使用我的应用程序而没有任何问题。正如我所料,其他任何日志都没有表明创建catalina.out的问题。
答案 0 :(得分:1)
似乎Homebrew重定向了stdout / stderr,它覆盖了Tomcat提供的配置,并且默认情况下,Homebrew中Tomcat安装的配置没有定义用于记录标准输出和错误的文件。您可以通过修改Tomcat的.plist文件来更改此设置。
在Tomcat安装的基本目录中找到.plist文件。对于我来说,安装位于/usr/local/Cellar/tomcat@8/8.5.51中,但是它可能因Tomcat版本而异。该目录中应该有一个类似于homebrew.mxcl.tomcat@8.plist的文件。编辑该文件,并将以下行添加到
<key>StandardOutputPath</key>
<string>/path/to/catalina.out</string>
<key>StandardErrorPath</key>
<string>/path/to/catalina.out</string>
请注意不要在任何现有键值对之间插入行。
我选择使用Tomcat默认创建的catalina.out路径,对我而言,该路径为 /usr/local/Cellar/tomcat@8/8.5.51/libexec/logs/catalina.out 。