Luc*_*ian 8 logging web-applications tomcat9
Tomcat9 部署在 Ubuntu 18.04 上。此问题仅适用于 Tomcat 版本 9。有一个 catalina。日期.log 文件存在于日志文件夹中,但它不显示来自我们的 Web 应用程序的任何控制台打印输出。
我已经在 logging.properties 中将 ConsoleHandler 级别设置为 ALL,但仍然没有日志。
任何指针,想法?谢谢!
Ubuntu 18.04(和 Debian 10)上的tomcat9软件包使用 systemd.service
文件。默认情况下,它们将 Tomcat 的stdout和stderr重定向到带有程序名称的系统日志tomcat9
。在 Debian 10 中,RSyslog配置为将这些写入/var/log/tomcat9/catalina.out
,但在您的情况下可能并非如此。
所以你至少有两个解决方案:
读取输出systemd-journald
:
journalctl -u tomcat9.service
Run Code Online (Sandbox Code Playgroud)
您可能想让日志存储持久化(CentOS 的解决方案也适用于 Ubuntu)。
修改.service
文件以将输出重定向到/var/log/tomcat9/catalina.out
systemctl edit --full tomcat9.service
Run Code Online (Sandbox Code Playgroud)
请注意,通过System.out.println和类似方式“记录”是不好的做法,因为您无法控制记录的内容和方式。swallowOutput
如果要将这些语句发送到 ,则可以在上下文中使用该属性java.util.logging
。通过ServletContext#log()
和java.util.logging记录的所有消息都以catalina.<date>.log
或结束localhost.<date>.log
。