Ubuntu

我的 Tomcat 日誌在哪裡?

  • June 22, 2021

我使用 apt-get install tomcat6 在 Ubuntu 9.04 伺服器上安裝了 Tomcat6。我使用管理器界面上傳了一個 WAR 並嘗試啟動應用程序,但在 Web 界面上收到一個非常一般的錯誤,說它無法啟動。

我正在嘗試查找日誌以確定為什麼我的戰爭不會開始(我懷疑記憶體不足,因為我在一個小型 VPS 上)但我不知道它們在哪裡。

/var/lib/tomcat6/logs 為空。我的 Tomcat 啟動頁面可靠地通知我以下內容;

Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 
CATALINA_BASE in /var/lib/tomcat6, 
following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

更新

我試著跑步;

$ ps -ax 
/usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid

但是 /var/log/syslog 中沒有任何內容

也在執行

$ losof -p PID

沒有顯示任何日誌文件…

$  for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406]
lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null
l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]

謝謝,

加夫

這次討論很晚,但似乎 tomcat5.5 和 tomcat6 中的 03catalina.policy 文件實際上不允許寫入日誌文件。

最簡單的解決方案是將 JULI 權限更改為:

// These permissions apply to JULI
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
   permission java.security.AllPermission;
};

顯然,可能存在我不知道的安全問題,但我真的懶得深入探勘——我自己在這方面花了太長時間。

一個巧妙的技巧是執行命令“ lsof -p PID”,其中 PID 是您的 tomcat 伺服器的程序 ID。此命令將為您提供程序打開的所有文件的列表,包括日誌文件。請參閱維基百科頁面

引用自:https://serverfault.com/questions/127640