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
,但在您的情况下可能并非如此。
因此你至少有两个解决方案:
读取输出
systemd-journald
:journalctl -u tomcat9.service
你可能想要使 journald 存储持久化(CentOS的解决方案也适用于Ubuntu)。
修改
.service
文件以将输出重定向到/var/log/tomcat9/catalina.out
systemctl edit --full tomcat9.service
请注意,“登录”通过系统输出打印类似的做法是不好的做法,因为你无法控制记录的内容和方式。你可以使用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