Tomcat 9-catalina.out 日志文件丢失,控制台打印输出未显示在任何地方

Tomcat 9-catalina.out 日志文件丢失,控制台打印输出未显示在任何地方

Tomcat9 部署在 Ubuntu 18.04 上。此问题仅适用于 Tomcat 版本 9。存在 catalina。日期.log 文件存在于日志文件夹中,但它没有显示来自我们的 Web 应用程序的任何控制台打印输出。

我已在logging.properties中将ConsoleHandler级别设置为ALL,但仍然没有日志。

有什么指点或想法吗?谢谢!

答案1

tomcat9Ubuntu 18.04(和 Debian 10)上的软件包使用 systemd.service文件。默认情况下,它们会重定向 Tomcat 的标准输出标准错误使用程序名称登录到 syslog tomcat9。在 Debian 10 中系统日志配置为将这些写入/var/log/tomcat9/catalina.out,但在您的情况下可能并非如此。

因此你至少有两个解决方案:

  1. 读取输出systemd-journald

    journalctl -u tomcat9.service
    

    你可能想要使 journald 存储持久化(CentOS的解决方案也适用于Ubuntu)。

  2. 修改.service文件以将输出重定向到/var/log/tomcat9/catalina.out

    systemctl edit --full tomcat9.service
    

    并遵循StackOverflow 上的说明

请注意,“登录”通过系统输出打印类似的做法是不好的做法,因为你无法控制记录的内容和方式。你可以使用swallowOutput属性,如果你想要发送这些语句到java.util.logging。所有通过ServletContext#log()和记录的消息java.util.logging最终要么catalina.<date>.log要么localhost.<date>.log

答案2

在我的配置(VM,Ubuntu 18.04 服务器,tomcat9)中,我在 /var/log/syslog 文件中发现了 tomcat stdout 消息:

root@deploytest:/var/log# less syslog

Dec  4 07:17:43 deploytest systemd[1]: Starting Apache Tomcat 9 Web Application Server...
Dec  4 07:17:43 deploytest systemd[1]: Started Apache Tomcat 9 Web Application Server.
Dec  4 07:17:44 deploytest tomcat9[3235]: Server version name:   Apache Tomcat/9.0.16 (Ubuntu)
Dec  4 07:17:44 deploytest tomcat9[3235]: Server built:          Sep 11 2019 19:47:51 UTC
Dec  4 07:17:44 deploytest tomcat9[3235]: Server version number: 9.0.16.0
Dec  4 07:17:44 deploytest tomcat9[3235]: OS Name:               Linux
Dec  4 07:17:44 deploytest tomcat9[3235]: OS Version:            4.15.0-72-generic
Dec  4 07:17:44 deploytest tomcat9[3235]: Architecture:          amd64
Dec  4 07:17:44 deploytest tomcat9[3235]: Java Home:             /usr/lib/jvm/java-8-openjdk-amd64/jre
Dec  4 07:17:44 deploytest tomcat9[3235]: JVM Version:           1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10
Dec  4 07:17:44 deploytest tomcat9[3235]: JVM Vendor:            Private Build
Dec  4 07:17:44 deploytest tomcat9[3235]: CATALINA_BASE:         /var/lib/tomcat9
Dec  4 07:17:44 deploytest tomcat9[3235]: CATALINA_HOME:         /usr/share/tomcat9
...
Dec  4 07:18:01 deploytest tomcat9[3235]: Starting ProtocolHandler ["http-nio-8080"]
Dec  4 07:18:01 deploytest tomcat9[3235]: Server startup in [16,667] milliseconds

相关内容