Su的技术博客

  • 首页
  • 原创
  • 视频
  • Java
  • MySQL
  • DDD
  • 事故复盘
  • 架构方案
  • AI
  • Other
  • 工具
    • AI工具集
    • 工具清单
    • JSON在线格式化
    • JSON在线比较
    • SQL在线格式化
  • 打赏
  • 关于
路很长,又很短
  1. 首页
  2. 事故复盘
  3. 正文
                           

【原创】tomcat应用服务启不来,没有报错日志?不可能!

2021-05-26 2746点热度 1人点赞 0条评论

遇到了一个奇怪的问题,使用tomcat启动项目,从标准输出日志看,似乎很正常,但是访问却失败了!

 

如下图:

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。

1、查看catalina日志

tomcat应用服务启不来,没有报错日志?不可能!

细看关键日志:

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严重级别的日志。在控制台看到的都是没标颜色的,所以一开始可能觉得没问题(tomcat应用服务启不来,没有报错日志?不可能!...)。

 

这两行日志我们可以看出来,有Listener启动失败了,在适当的容器日志文件中可以找到完整的详细信息。而且也可以看到由于前面的这些错误,启动是失败的。

 

2、异常日志在哪里?

那么在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

 

tomcat应用服务启不来,没有报错日志?不可能!

从日志得知:

  SEVERE: Exception sending context initialized event to listener instance of class com.XXXXXX.web.servlet.WsContextLoaderListener

 

看到这串异常堆栈信息,是不是很兴奋!  这样你就会知道什么原因了吧。赶紧解决掉~

3、总结

1)应用服务启不来,比如:tomcat容器部署的服务,甚至其他服务组件等,一般都会有日志提示你,所以要细心和耐心,可能就记录在其它地方了。

 

2)Tomcat部署项目时应用初始化(listener, filter, servlet)出现异常一般都会记录到这个日志localhost.log。

2018记

ps:虽然是一个小问题,但是在工作中却经常遇到,也有不少同事不知道怎么回事,特此记录,让我们少掉进一些坑。

 


 
回复公众号【资料】获得干货资料集锦:技术ppt、IT大会资料、架构、分布式资料等。
相关文章
1】线上热更新代码只需3步 Arthas实战 | 原创
2】实战使用Arthas排查生产问题:实例方法接口调用
3】实战:一次疑似内存泄漏的问题排查
推荐好文
1、互联网Code Review最佳实践分享
2、dubbo面试题!会这些,说明你看懂了dubbo源码
3、Kafka面试题!掌握它才说明你真正懂Kafka
4、
Netty 5.0为啥被舍弃?原因竟然是...
5、
中台之上——业务架构系列【汇总】
6、必备瑞士军刀IDEA插件,你使用了哪些
7、线上热更新代码只需3步 Arthas实战
8、Eureka源码剖析之七:架构&面试题【总结】
9、互联网工程师应该用这种姿势打印日志

tomcat应用服务启不来,没有报错日志?不可能!

-关注搬运工来架构,与优秀的你一同进步-

如果喜欢这篇文章可以点在看哦↘

本文仅供学习!所有权归属原作者。侵删!文章来源: 搬运工来架构

更多文章:

  1. 构建一个布隆过滤器 —— Building a Bloom filter
  2. 高效开发与设计:提效Spring应用的运行效率和生产力
  3. log4j2同步日志引发的性能问题
  4. 浅析设计模式5 -- 责任链模式
  5. 系统设计 | 哪些技术标准可以帮助系统设计?
  6. 系统设计 | 系统设计中需要考虑到的时间问题
  7. RocketMQ 很慢?引出了一个未解之谜
  8. 记一次网络请求连接超时的事故
  9. Chrome插件(扩展)开发全攻略2.6w字,看这篇就够了!
  10. 责任链模式在复杂数据处理场景中的实战
标签: 原创 tomcat 日志 事故复盘 异常
最后更新:2023-12-19

Cocodroid

专注Java后端,分享技术。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

广告
最新 热点 推荐
最新 热点 推荐
马蜂窝消息总线——面向业务的消息服务设计 基于 MySQL Binlog 实现可配置的异构数据同步 视频笔记:Google发布Agent2Agent协议 视频笔记:什么是微服务,为什么是微服务? 视频笔记:什么是AI 智能体? 视频笔记:什么是Flink? 如何秒级实现接口间“幂等”补偿:一款轻量级仿幂等数据校正处理辅助工具 你可以不用RxJava,但必须得领悟它的思想!
Elasticsearch 使用误区之六——富文本内容写入前不清洗基于 MySQL Binlog 实现可配置的异构数据同步马蜂窝消息总线——面向业务的消息服务设计你可以不用RxJava,但必须得领悟它的思想!如何秒级实现接口间“幂等”补偿:一款轻量级仿幂等数据校正处理辅助工具视频笔记:什么是Flink?视频笔记:什么是AI 智能体?视频笔记:什么是微服务,为什么是微服务?
阿里云香港云服务器P0史诗级宕机事件复盘 DevOps 流水线 CI 成倍提速方案 系统设计 | 系统设计中需要考虑到的时间问题 千万级数据深分页查询SQL性能优化实践 手把手教你落地DDD 大家一直在谈的领域驱动设计(DDD),我们在互联网业务系统是这么实践的 事务异常:Transaction rolled back because it has been marked as rollback-only 2000 字教你画项目架构图(建议收藏)

CRUD (1) Event Sourcing (1) graphql (1) id (1) NoSQL (1) quarkus (1) rest (1) RocketMQ (2) Spring Boot (1) zk (1) zookeeper (1) 上下文 (1) 事务消息 (1) 二级缓存 (1) 值对象 (1) 关系数据库 (1) 分布式缓存 (1) 原子性 (1) 唯一ID (1) 商品 (1) 多对多 (1) 子域 (1) 字符集 (1) 客户端心跳 (1) 幂等 (2) 干货 (1) 并发 (1) 应用场景 (1) 应用架构图 (1) 康威定律 (2) 异步复制 (1) 微服务架构 (2) 总体方案 (1) 技术方案 (2) 技术架构 (2) 技术架构图 (1) 技能 (1) 持续集成 (1) 支撑域 (1) 故障恢复 (1) 数据架构图 (1) 方案选型 (1) 日记 (1) 服务发现 (1) 服务治理 (1) 服务注册 (2) 机房 (1) 核心域 (1) 泄漏 (1) 洋葱架构 (1) 消息队列 (5) 源码剖析 (1) 灰度发布 (1) 熔断 (1) 生态 (1) 画图工具 (1) 研发团队 (1) 线程 (2) 组织架构 (1) 缓存架构 (1) 编码 (1) 视频 (18) 读写分离 (1) 贵州 (1) 软件设计 (1) 迁移 (1) 通用域 (1) 集群化 (1) 雪花算法 (1) 顺序消息 (1)

推荐链接🔗
  • AI工具集
  • 工具箱🛠️

COPYRIGHT © 2014-2025 verysu.com . ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备15033072号-2

x