web-dev-qa-db-ja.com

Tomcat起動ログ-重大:エラーfilterStartスタックトレースの取得方法

Tomcatを起動すると、次のエラーが表示されます。

Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.Apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors

Tomcatのログにスタックトレースが含まれないのは奇妙に思えます。このようなエラーのスタックトレースを取得するためにTomcatのロギングを増やす方法について誰かが提案していますか?

95
benstpierre

Tomcatが作成するlocalhost_yyyy_mm_dd.log OR localhost.yyyy-mm-dd.logログを確認します。これらのログは通常、そのタイプの情報を保存します。完全なスタックトレースが標準出力にダンプされるとは思わないでしょう。

137
matt b

次のコンテンツを使用して、WEB-INF/classesにlogging.propertiesという名前のファイルを作成します。

org.Apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.Apache.catalina.core.ContainerBase.[Catalina].handlers = Java.util.logging.ConsoleHandler
80
Micha Roon

Tomcatはスタックトレースをログに記録しますが、TomcatをIDEから起動すると、ログファイルの場所が常に明確になるとは限りません。 IntelliJから起動すると、CATALINA_BASE${home}/.IntelliJIdea10/system/Tomcat/Unnamed_r6-ideaに設定され、ログファイルは[CATALINA_BASE]/logsにあります。

ログを表示するには、ログファイルを見つけるか、[CATALINA_HOME]/conf/logging.propertiesを編集してTomcatロガー出力をコンソールに送信します。以下に、デフォルトのTomcat構成に2番目のハンドラーを追加しました。

 org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
 org.Apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler

これで、完全なスタックトレースがIntelliJ出力に表示されます。

 Dec 27, 2011 12:02:45 PM org.Apache.catalina.core.StandardContext filterStart
 SEVERE: Exception starting filter filterChainProxy
 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined   at
 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.Java:529)
 . . .
21
Assen Kolov

ファイルをコピーする必要があります

cp /path/to/solr/example/lib/ext/* /path/to/Tomcat/lib
cp /path/to/solr/example/resources/* /path/to/Tomcat/lib // or inside extracted solr

そしてrestart Tomcat

9
tuku

アプリケーションは、Tomcatとは異なるJREでコンパイルされている可能性があります。

サーバーのJava -versionを確認し、同じバージョンでコードをコンパイルします。私のEclipse標準JREは1.6で、Tomcatは1.5を使用していたため、エラーが発生しました-これは機能しません。

5
Renato

通常、localhost。[date] .logに問題に関する情報があります。ただし、このログに何もない場合があります。これは、プロジェクトの構成が混乱している場合に発生する可能性があります(数人の開発者が長い間作業しており、それぞれが自分で何かを追加しました)。ログの情報なしでこの問題に直面しました。むしろ高速で堅牢なアプローチ:

  1. Web.xmlから問題を引き起こす可能性のあるすべてのものを削除してください。タグを除くすべてを削除することもできます。それでもアプリケーションをデプロイできない場合-続行します。

  2. WEB-INF/classesからすべての* .xml記述子を削除します。アプリケーションをデプロイできない場合-続行します。

  3. Warにあるすべてのロギング構成(logging.properties、log4j.properties)を削除します。展開してみてください。このステップでは、より多くの有益なエラーがありますが、展開はまだ失敗しました。

このエラーをグーグルで調べた結果、プロジェクトには古いバージョンのxercesが含まれており、Tomcatのバージョン(新しいバージョン)と衝突し、アプリケーションがデプロイされないことがわかりました。 Webアプリケーションでのxercesのアップグレード後、すべてが正常になりました。

2

CentOS 6およびSolr 4.4.0で

このエラーに対処するには、いくつかのlibファイルをコンプする必要がありました

cp ~/solr-4.4.0/example/lib/ext/* /usr/share/Tomcat6/lib/
2
Amir Bilal

Tomcatのlog4jロギングのセットアップは非常に簡単です。以下は http://Tomcat.Apache.org/Tomcat-5.5-doc/logging.html から引用されています:

  1. 次の内容でlog4j.propertiesというファイルを作成し、common/classesに保存します。

              log4j.rootLogger=DEBUG, R 
              log4j.appender.R=org.Apache.log4j.RollingFileAppender 
              log4j.appender.R.File=${catalina.home}/logs/Tomcat.log 
              log4j.appender.R.MaxFileSize=10MB 
              log4j.appender.R.MaxBackupIndex=10 
              log4j.appender.R.layout=org.Apache.log4j.PatternLayout 
              log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
    
  2. Log4J(v1.2以降)をダウンロードし、log4j jarを$ CATALINA_HOME/common/libに配置します。

  3. Commons Loggingをダウンロードし、commons-logging-x.y.z.jar(commons-logging-api-x.y.z.jarではない)をlog4j jarとともに$ CATALINA_HOME/common/libに配置します。
  4. Tomcatを起動します

http://wiki.Apache.org/Tomcat/FAQ/Logging をご覧になることもできます

1
Tommi

Tomcatにデプロイされたアプリケーションを起動できないという同じ問題が発生しました。しかし、Struts jarセットをCATALINA_HOME\lib(Tomcat dir)ディレクトリにコピーすると、解決されます。これらのjarをWEB_INF\libに入れる必要はありませんが、ビルドパスに入れる必要があります。

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

freemarker-2.3.16.jar

javassist-3.11.0.GA.jar

struts2-convention-plugin-2.2.1.jar

struts2-core-2.2.1.jar

xwork-core-2.2.1.jar

1
Vijay

誰かがSEVEREのようなエラーを受け取っている場合:エラーfilterStart 2013年4月29日4:49:20 PM org.Apache.catalina.core.StandardContext startInternal SEVERE:以前のエラーによりコンテキスト[/ TraceMW]の起動に失敗しました

tomcat/libディレクトリにcors-filter-1.5.jarが含まれているかどうかを確認してください。あなたがドットを持っている場合、上記のエラーが発生し、ウルアプリケーションは利用できません。

だから、私はちょうど他のTomcatフォルダからjarファイルをコピーできましたが、上記のエラーは後で表示されませんでした。

1
Prasanthi

私も同じエラーを受け取り、この問題の修正に苦労しました。 Googleの検索に少し時間を費やし、次の解決策を見つけて、私の問題は解決しました。

この問題は、展開パスにStruts2ライブラリがないことによるものでした。ほとんどの人は、ライブラリをコンパイル用に配置し、実行時に必要なライブラリをアタッチするのを忘れがちです。そのため、同じライブラリをWeb展開アセンブリに追加しましたが、問題はオフでした。

1
user2682165

一般に、サーバーJDKバージョンはデプロイされたアプリケーションよりも低くなります(より高いjdkバージョンでビルドされます)

0
user1114134

同様の問題がありました。レナートのヒントが役立った。古いバージョンのJavaクラスファイル(WEB-INF/classesフォルダーの下)を使用しましたが、問題はなくなりました。したがって、コンパイラーのバージョンの不一致であるはずです。

0
Prasanna HR

ほぼ同じ問題に最後の1時間を費やした後、貢献したかっただけです。私の解決策は、どういうわけかアプリケーションの.jarが破損していたため、開発サーバーからjarを配置することで修正されました。

0
matchew

これは私のためにトリックをしました:すべてのライブラリを削除してからコンパイルして実行してください。プロジェクトのエラーを確認するよう促します。ライブラリを適用した後、プロジェクトを再実行します。