Tomcat启动日志 - SEVERE:错误filterStart如何获取堆栈跟踪?

时间:2010-06-10 17:20:38

标签: java tomcat logging

当我启动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中的日志记录来获取像这样的错误的堆栈跟踪吗?

16 个答案:

答案 0 :(得分:136)

检查Tomcat创建的localhost_yyyy_mm_dd.log OR localhost.yyyy-mm-dd.log日志,这些日志通常存储该类型的信息。我不希望将完整的堆栈跟踪转储到标准输出。

答案 1 :(得分:80)

在WEB-INF / classes中创建一个名为logging.properties的文件,其中包含以下内容:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

答案 2 :(得分:21)

Tomcat会记录堆栈跟踪,但是当从IDE启动tomcat时,并不总是清楚日志文件的位置。当我从IntelliJ启动时,CATALINA_BASE设置为${home}/.IntelliJIdea10/system/tomcat/Unnamed_r6-idea,日志文件位于[CATALINA_BASE]/logs

要查看日志,请找到日志文件,或编辑[CATALINA_HOME]/conf/logging.properties以将tomcat logger输出定向到控制台。下面我为默认的tomcat配置添加了第二个处理程序:

 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)
 . . .

答案 3 :(得分:9)

您需要复制文件

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

然后重新启动 tomcat

答案 4 :(得分:5)

也许您的应用程序使用与Tomcat不同的JRE进行编译。

检查服务器上的java -version,然后使用相同版本编译代码。 我有错误,因为我的Eclipse标准JRE是1.6而Tomcat使用1.5 - 这不起作用。

答案 5 :(得分:2)

在CentOS 6和Solr 4.4.0中

我必须编译一些lib文件以解决此错误

cp ~/solr-4.4.0/example/lib/ext/* /usr/share/tomcat6/lib/

答案 6 :(得分:2)

通常在localhost中有关于该问题的信息。[date] .log。 但有时候这个日志里什么都没有。如果项目有混乱的配置(几个开发人员长时间工作并且每个人都添加了自己的东西),就会发生这种情况。 我在日志中没有任何信息时遇到了这个问题。相当快速和稳健的方法:

  1. 尝试从web.xml中删除任何可能导致任何问题的内容。您甚至可以删除除标记之外的所如果仍然无法部署应用程序 - 请继续。

  2. 从WEB-INF / classes中删除每个* .xml描述符。如果无法部署应用程序 - 请继续。

  3. 删除您在战争中可以找到的所有日志记录配置(logging.properties,log4j.properties)。尝试部署。在这一步,我得到了更多信息,但部署仍然失败。

  4. 在搜索此错误后,我发现该项目包含旧版本的xerces,它与Tomcat的版本(更新版本)发生冲突,并且没有部署应用程序。在网络应用程序中升级xerces后,一切都很顺利。

答案 7 :(得分:1)

为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并使用log4j jar将commons-logging-x.y.z.jar(不是commons-logging-api-x.y.z.jar)放在$ CATALINA_HOME / common / lib中。
  4. 启动Tomcat
  5. 您可能还想查看http://wiki.apache.org/tomcat/FAQ/Logging

答案 8 :(得分:1)

如果有人收到错误的话        严重:错误filterStart      2013年4月29日下午4:49:20 org.apache.catalina.core.StandardContext startInternal      严重:由于先前的错误,上下文[/ TraceMW]启动失败

然后请检查您的tomcat / lib目录是否包含 cors-filter-1.5.jar 。 如果你点了,你将得到上述错误,你的申请将无法使用。

所以,我只是设法从其他tomcat文件夹中复制jar文件,后来我没有得到上述错误。

答案 9 :(得分:1)

我也遇到了同样的错误,在解决这个问题上遇到了很多困难。在搜索Google时花了一点时间,发现以下解决方案,我的问题得到了解决。

问题是由于在部署路径中缺少Struts2库。大多数人可能会将库用于编译,并且往往忘记为运行时附加所需的库。所以我在Web部署程序集中添加了相同的库,问题是OFF。

答案 10 :(得分:1)

我遇到了同样的问题,一旦在tomcat中部署了应用程序就无法启动它。但是,一旦我将Struts的jar集复制到CATALINA_HOME \ lib(Tomcat dir)目录中,它就会被解析。您不需要在WEB_INF \ lib中拥有这些jar,但是您需要在Build Path中拥有它们。

公地文件上传-1.2.1.jar

公地-IO-1.3.2.jar

的freemarker-2.3.16.jar

了Javassist-3.11.0.GA.jar

的struts2-公约-插件-2.2.1.jar

struts2的核 - 2.2.1.jar

XWork的核 - 2.2.1.jar

答案 11 :(得分:0)

只是想在花费最后一小时才能解决几乎相同的问题。我的解决方案是,我们的应用程序.jar在某种程度上已损坏,因此从我们的开发服务器放置jar提供了修复。

答案 12 :(得分:0)

我有类似的问题。雷纳托的小费对我有用。我使用旧版本的java类文件(在WEB-INF / classes文件夹下),问题就消失了。所以,应该是编译器版本不匹配。

答案 13 :(得分:0)

这对我有用:只需删除所有库,然后编译并运行。它会提示你的项目确认错误。应用库后重新运行项目。

答案 14 :(得分:0)

通常,服务器JDK版本将低于部署的应用程序(使用更高版本的jdk构建)

答案 15 :(得分:-1)

运行以下命令以显示终端上的catalina日志---

sh start-camunda.sh; tail -f server/apache-tomcat-8.0.24/logs/catalina.out