在Windows系统上,Tomcat控制台输出在哪里?

6
我曾经从tomcat的bin文件夹中使用startup.bat启动tomcat。通过运行该脚本,它会打开一个java窗口,在其中可以看到来自tomcat的输出信息。然而,我被告知这不是在Windows服务器上启动tomcat的正确方式。因此,现在我通过服务程序启动tomcat。这样做就不会再打开java窗口,因此我无法看到来自tomcat的输出消息。
我还查看了tomcat的日志文件夹。这些保存的输出与我在java窗口中拥有/拥有的输出不同。有人知道我在哪里可以找到那些输出吗?
非常感谢任何建议。
4个回答

7
如果我们假设您的安装位于 C:\program files\apache software foundation\apache-tomcat{ver}\,那么它就在日志目录中,文件名为 catalina.out。
路径为:C:\program files\apache software foundation\apache-tomcat{ver}\logs\catalina.out。
需要注意的是,文件名取决于您的配置,日志目录的名称也可能因配置而异,但我假设您保留了默认配置。

2
在这里,我举个例子,有一个文件名为catalina.2011-12-02.log。但是它并不包含与Java输出窗口相同的信息... - mkn
除了catalina.2011-12-02.log之外,你是否还有名为localhost{foo}.log和manager{foo}.log的文件?我相信这些文件的组合应该与你通常在Java控制台中看到的内容完全相同,除非你的Tomcat进行了其他配置。 - Nikola Yovchev
2
问题在于Tomcat没有权限在用户文件夹中写入所有日志。我进行了更改,现在我也可以看到标准输出日志文件。 - mkn

4

在Windows中(我使用的是Windows 10),您应该执行以下操作来检查正在运行的应用程序的日志:

  1. 安装Notepad++
  2. 在Notepad++中打开 C:\Program Files\Apache Software Foundation\Tomcat {ver}\logs\tomcat{ver}-stdout.{date}.log 文件
  3. 打开视图菜单并在Notepad++中启用“监视”

1
通常,日志应该在 $TOMCAT_HOME/logs 目录下。
当作为服务运行 Tomcat 时,我注意到有时 Tomcat 会在启动 Tomcat 的文件夹中生成日志。因此,也需要检查 $TOMCAT_HOME/bin 目录以获取可能的日志文件。
这就是为什么应该配置 Log4j,以便您可以控制创建日志文件的位置。

0

这是不存在的。在 MS Windows 上没有 catalina.out 文件。在 MS 上,有一个名为 catalina-datetime-in-some-random-format.log 的文件,但它不是 catalina.out,也不包含相同的信息。

在真正的操作系统上,有一个名为 catalina.out 的文件,其中包含来自 JVM 的所有输出,包括 stdout 和 stderr。在 MS windoh! ;) 上,它只是 Tomcat JUL 日志文件的日志文件(而不是 CONSOLE/stdout/stderr)。然后有 catalina-stdout.log 和 catalina-stderr.log 文件。 因此,每次您需要在 M$ 上查找某些信息时,都必须搜索这三个文件。大多数情况下,它们包含重复的信息,使得尝试通过任何自动化(如 ELK 堆栈)处理日志变得非常困难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接