问题描述:
Java -jar jar包,启动springboot项目,在还没启动完成,日志打印出“Stopping Service”,查看jar进程存在,但访问服务不通,日志无报错。
问题排查:
尝试了各种方式,重新打包,修改tomcat为外部tomcat,修改端口等等都不起作用,依然存在问题。
后来猜测报错了,只是因为日志没有打印出来,又去修改日志级别及其他配置,发现依然看不到问题。
后来尝试修改springboot的启动main方法,
原(无报错日志):
public static void main(String[] args) {
SpringApplication.run(TestApp.class, args);
}
修改后(无报错日志):
public static void main(String[] args) {
Try{
SpringApplication.run(TestApp.class, args);
}catch(Exception e){
e.printStackTrace();
}
}
最终修改(有报错日志):
public static void main(String[] args) {
Try{
SpringApplication.run(TestApp.class, args);
}catch(Exception e){
LOGGER.error(“启动报错”,e);
}
}
问题分析:
SpringBoot 启动main方法要自己tryCatch一下,打印日志,建议最好使用Logger去输出日志,尽量不要输出到控制台,因为很多公司日志配置不让输出到控制台,故有问题的时候也不会有日志。
能看到报错日志,那么问题排查就很简单了。
(最终是因为MQ配置有问题导致启动报错)