Tomcatログはどこにありますか?


26

apt-get install tomcat6を使用して、Tomcat6をUbuntu 9.04サーバーにインストールしました。マネージャーインターフェースを使用して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]

おかげで、

Gav

回答:


5

この議論に非常に遅れましたが、tomcat5.5とtomcat6の両方の03catalina.policyファイルは、実際にはログファイルへの書き込みを許可していないようです。

最も簡単な解決策は、JULIパーミッションを次のように変更することです。

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

明らかに、私が気付いていないセキュリティ問題があるかもしれませんが、私は本当に深く掘り下げることを本当に気にすることはできません-私はこれに長い間費やしました。


更新のおかげで、私はこれを自分で動作させることはできませんでしたが、VPSは死んでいます。サーバーの起動時にハンドルが開かれたことは一度もなかったので、ログが書き込まれていなかったのは理にかなっています。
gav

34

巧妙なトリックは、コマンド " lsof -p PID" を実行することです。ここで、PIDはTomcatサーバーのプロセスIDです。このコマンドは、ログファイルを含む、プロセスによって開かれたすべてのファイルのリストを提供します。参照してくださいWikipediaのページを


それは素晴らしいヒントです!残念ながら、私のプロセスはどれもログファイルを保持していません...それが何を意味するのかわかりません。
gav

2
プロセスがログファイルを開けなかったことを意味する場合があります。console / STDOUTにいくつかのエラーが記録されているはずです。Linuxを使用している場合は、試してみることができますfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

apt-getを使用してTomcatをインストールすると、jsvcを使用してデーモンとして実行するように構成されます。コマンドを(java-> jsvc)に変更するだけです。スニペットは私の質問の最後に出力を返しました(コメントのフォーマットは判読できません)。
gav

19

デフォルトでチェック

/var/log/tomcat6/catalina.out 

またはそのようなもの

ロギングプロパティをチェックします

/usr/share/tomcat6/conf/logging.properties

通常、/ usr / share / tomcat6 / conf /は/ etc / tomcat6 /へのシンボリックリンクです。


/var/log/tomcat6/catalina.outは存在せず、フォルダー/ usr / share / tomcat6 / confも存在しません。/etc/tomcat6/logging.propertiesは、$ {catalina.base} / logsが私が探しているディレクトリであることを示唆していますが、私が言ったように、そこには何も書かれていません。Hoハム:(
gav

4

彼らは CATALINA_HOME/logs

私は最も頻繁に見ました/opt/tomcat/logsが、あなたの場合は/usr/share/logs


1

デフォルトでは、Tomcatログが存在し/var/log/tomcat?/var/lib/tomcat7/logs通常はそこを指します。

としてroot、次の方法でチェックできます。

tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out

それでも問題が解決しない場合は、次の方法で見つけてください。

sudo lsof | grep -E "java.*(out|txt|log)$"

-1

Windowsの場合、次のようなログを見つけることができます。C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-propertiesも参照してください。


2
投稿された質問は、Linux(特にUbuntu)のインストールに関するものです。あなたが与えた答えは、Windowsベースのインストールに対するものです。また、この質問にはすでに受け入れられた答えがあります。
コリーS.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.