遇到了一个奇怪的问题,使用tomcat启动项目,从标准输出日志看,似乎很正常,但是访问却失败了!
如下图:
......(省略N多日志)
Jun 04, 2018 12:42:27 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /usr/local/tomcat/xxxxx/webapps/XXXX-api.war has finished in 13,552 msJun 04, 2018 12:42:27 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["http-bio-9311"]Jun 04, 2018 12:42:27 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["ajp-bio-9312"]Jun 04, 2018 12:42:27 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 29408 ms
Tomcat catalina日志看下起来似乎正常,启动耗时约22秒,因为这里好像没看到异常堆栈等信息的打印出来。所以理所应当的认为我的服务已经正常启动了,是不是其它网络情况造成服务不可用或者404跳转等问题呢?
但是,访问时服务却是一直不通,甚至出现404。
细看关键日志:
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log fileJun 04, 2018 12:32:47 PM org.apache.catalina.core.StandardContext startInternalSEVERE: Context [/XXXX-api] startup failed due to previous errors
关键就是这两行severe严重级别的日志。在控制台看到的都是没标颜色的,所以一开始可能觉得没问题(...)。
这两行日志我们可以看出来,有Listener启动失败了,在适当的容器日志文件中可以找到完整的详细信息。而且也可以看到由于前面的这些错误,启动是失败的。
那么在Catalina日志里面为啥没能看到异常堆栈呢?
看下面这段引用:
catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log。localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,而这些未处理异常最终会导致应用无法启动。
所以,你就知道什么原因了吧。
localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常,最终被tomcat捕获而输出的日志。
根据Catalina日志上的severe日志所说的,有listener启动失败,那么详细的日志信息就是在这个日志文件里面了:localhost.log
从日志得知:
SEVERE: Exception sending context initialized event to listener instance of class com.XXXXXX.web.servlet.WsContextLoaderListener
看到这串异常堆栈信息,是不是很兴奋! 这样你就会知道什么原因了吧。赶紧解决掉~
1)应用服务启不来,比如:tomcat容器部署的服务,甚至其他服务组件等,一般都会有日志提示你,所以要细心和耐心,可能就记录在其它地方了。
2)Tomcat部署项目时应用初始化(listener, filter, servlet)出现异常一般都会记录到这个日志localhost.log。
2018记
ps:虽然是一个小问题,但是在工作中却经常遇到,也有不少同事不知道怎么回事,特此记录,让我们少掉进一些坑。
4、Netty 5.0为啥被舍弃?原因竟然是...
5、中台之上——业务架构系列【汇总】
-关注搬运工来架构,与优秀的你一同进步-
如果喜欢这篇文章可以点在看哦↘
本文仅供学习!所有权归属原作者。侵删!文章来源: 搬运工来架构
文章评论