Logging
Tomcat 9 - catalina.out 日誌文件失去,控制台列印輸出未顯示在任何地方
Tomcat9 部署在 Ubuntu 18.04 上。此問題僅適用於 Tomcat 版本 9。有一個 catalina。日期.log 文件存在於日誌文件夾中,但它不顯示來自我們的 Web 應用程序的任何控制台列印輸出。
我在 logging.properties 中將 ConsoleHandler 級別設置為 ALL,仍然沒有日誌。
任何指針,想法?謝謝!
Ubuntu 18.04(和 Debian 10)上的tomcat9包使用 systemd
.service
文件。預設情況下,它們將 Tomcat 的stdout和stderr重定向到帶有 program name 的 syslogtomcat9
。在 Debian 10中, RSyslog被配置為將這些寫入/var/log/tomcat9/catalina.out
,但在您的情況下可能不是這樣。所以你至少有兩個解決方案:
- 從以下位置讀取輸出
systemd-journald
:journalctl -u tomcat9.service
您可能希望使日誌儲存持久化(CentOS 的解決方案也適用於 Ubuntu)。 2. 修改
.service
文件以將輸出重定向到/var/log/tomcat9/catalina.out
systemctl edit --full tomcat9.service
請注意,通過System.out.println和類似的“記錄”是不好的做法,因為您無法控制記錄的內容和方式。如果
swallowOutput
要將這些語句發送到java.util.logging
.ServletContext#log()
通過和java.util.logging記錄的所有消息都以catalina.<date>.log
或結尾localhost.<date>.log
。