今天遇到一个SpringBoot启动失败, 但没有错误日志的问题, 一时无从下手, 因为debug最重要的不就是找到错误日志吗?!
错误如下图, 加载完dubbo, druid之后, 莫名奇妙就终止程序了, 一点日志都没有!!!
莫名奇妙终止.png
没有日志通常是由于日志配置错了,日志配置可参考博客《SpringBoot logback日志配置》
其实不调整日志配置也可以知道到底为啥报错,途径是通过SpringBoot的生命周期源码排查, 从SpringBoot启动入口SpringApplication.run()
进入源码
springboot启动入口.png
找到以下方法的catch
语句块, 标记断点, 即可找到错误原因
public ConfigurableApplicationContext run(String... args) {}
springboot启动失败排查.png