经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
springBoot启动输出三行日志控制台自动停止操作
来源:jb51  时间:2021/8/9 10:22:01  对本文有异议

springBoot启动输出三行日志控制台自动停止

在https://start.spring.io/(官网)快速创建的springBoot工程,导入到myeclipse中后,启动后自动结束了。

pom.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5.  
  6. <groupId>net.xiaof</groupId>
  7. <artifactId>springboot_day01</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. <packaging>war</packaging>
  10.  
  11. <name>springboot_day01</name>
  12. <description>springboot_day01 project for Spring Boot</description>
  13.  
  14. <parent>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>2.0.1.RELEASE</version>
  18. <relativePath/> <!-- lookup parent from repository -->
  19. </parent>
  20.  
  21. <properties>
  22. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  23. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  24. <java.version>1.8</java.version>
  25. </properties>
  26.  
  27. <dependencies>
  28. <dependency>
  29. <groupId>org.springframework.boot</groupId>
  30. <artifactId>spring-boot-starter-web</artifactId>
  31. </dependency>
  32.  
  33. <dependency>
  34. <groupId>org.springframework.boot</groupId>
  35. <artifactId>spring-boot-starter-test</artifactId>
  36. <scope>test</scope>
  37. </dependency>
  38. </dependencies>
  39.  
  40. <build>
  41. <plugins>
  42. <plugin>
  43. <groupId>org.springframework.boot</groupId>
  44. <artifactId>spring-boot-maven-plugin</artifactId>
  45. </plugin>
  46. </plugins>
  47. </build>
  48. </project>

注:此版本为spring-boot 2.2.2。

启动类StartApplication.java:

  1. package net.xiaof.boot;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class StartApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(StartApplication.class, args);
  8. System.out.println("===================================================================");
  9. System.out.println("(◕ˇ∀ˇ◕) springboot started ");
  10. System.out.println("===================================================================");
  11. }
  12. }

启动console如下:

. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)

2019-12-17 22:55:44.874 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : Starting StartApplication on XIAOHU-WIN10 with PID 13248 (D:\MyEclipse_2017_workspaces\springboot_day01\target\classes started by XIAO in D:\MyEclipse_2017_workspaces\springboot_day01)
2019-12-17 22:55:44.876 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : No active profile set, falling back to default profiles: default
2019-12-17 22:55:47.117 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : Started StartApplication in 2.479 seconds (JVM running for 2.869)

然后Console自动停止了。

解决方法:

建议降低版本,更换为spring-boot 2.0.1。

SpringBoot启动项目后自动关闭,日志打印"Stopping Service"

问题描述:

Java -jar jar包,启动springboot项目,在还没启动完成,日志打印出“Stopping Service”,查看jar进程存在,但访问服务不通,日志无报错。

问题排查:

尝试了各种方式,重新打包,修改tomcat为外部tomcat,修改端口等等都不起作用,依然存在问题。

后来猜测报错了,只是因为日志没有打印出来,又去修改日志级别及其他配置,发现依然看不到问题。

后来尝试修改springboot的启动main方法,

原(无报错日志):

  1. public static void main(String[] args) {
  2. SpringApplication.run(TestApp.class, args);
  3. }

修改后(无报错日志):

  1. public static void main(String[] args) {
  2. Try{
  3. SpringApplication.run(TestApp.class, args);
  4. }catch(Exception e){
  5. e.printStackTrace();
  6. }
  7. }

最终修改(有报错日志):

  1. public static void main(String[] args) {
  2. Try{
  3. SpringApplication.run(TestApp.class, args);
  4. }catch(Exception e){
  5. LOGGER.error(“启动报错”,e);
  6. }
  7. }

问题分析:

SpringBoot 启动main方法要自己tryCatch一下,打印日志,建议最好使用Logger去输出日志,尽量不要输出到控制台,因为很多公司日志配置不让输出到控制台,故有问题的时候也不会有日志。

能看到报错日志,那么问题排查就很简单了。

(最终是因为MQ配置有问题导致启动报错)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号