【问题标题】:SpringBoot Application Log Files in AWSAWS 中的 Spring Boot 应用程序日志文件
【发布时间】:2022-01-24 17:23:11
【问题描述】:

我有一个 SpringBoot 应用程序,我将其部署到 AWS 上用于学习目的。我的应用程序公开了 REST API,我正在尝试了解如何在 AWS 中查看应用程序日志。

这就是我的 SpringBoot 应用程序的 GET API 的配置方式。

   @GetMapping
    public List<Movie> getMovies() {
        logger.info("Reached All GetMapping on the server");
        return service.getMovies();
    }

我将服务部署到 Elastic BeanStalk 上。然后我转到 Elastic Beanstalk > 环境 > my_application_name > 日志中的日志文件夹。我看到一个包含日志语句的 zip 下载:

Dec 23 19:22:18 ip-172-31-42-142 web: 2021-12-23 19:22:18.471  INFO 4108 --- [           main] i.f.r.restapiaws.RestapiawsApplication   : No active profile set, falling back to default profiles: default
Dec 23 19:22:21 ip-172-31-42-142 web: 2021-12-23 19:22:21.227  INFO 4108 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 5000 (http)
Dec 23 19:22:21 ip-172-31-42-142 web: 2021-12-23 19:22:21.254  INFO 4108 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
Dec 23 19:22:21 ip-172-31-42-142 web: 2021-12-23 19:22:21.258  INFO 4108 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.55]
Dec 23 19:22:21 ip-172-31-42-142 web: 2021-12-23 19:22:21.379  INFO 4108 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
Dec 23 19:22:21 ip-172-31-42-142 web: 2021-12-23 19:22:21.381  INFO 4108 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2638 ms
Dec 23 19:22:22 ip-172-31-42-142 web: 2021-12-23 19:22:22.616  INFO 4108 --- [           main] o.s.b.a.w.s.WelcomePageHandlerMapping    : Adding welcome page: class path resource [static/index.html]
Dec 23 19:22:22 ip-172-31-42-142 web: 2021-12-23 19:22:22.851  INFO 4108 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 5000 (http) with context path ''
Dec 23 19:22:22 ip-172-31-42-142 web: 2021-12-23 19:22:22.874  INFO 4108 --- [           main] i.f.r.restapiaws.RestapiawsApplication   : Started RestapiawsApplication in 5.999 seconds (JVM running for 8.107)
Dec 23 19:22:34 ip-172-31-42-142 web: 2021-12-23 19:22:34.919  INFO 4108 --- [nio-5000-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
Dec 23 19:22:34 ip-172-31-42-142 web: 2021-12-23 19:22:34.920  INFO 4108 --- [nio-5000-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
Dec 23 19:22:34 ip-172-31-42-142 web: 2021-12-23 19:22:34.922  INFO 4108 --- [nio-5000-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
Dec 23 19:25:06 ip-172-31-42-142 web: 2021-12-23 19:25:06.425  INFO 4108 --- [nio-5000-exec-2] i.f.r.r.controllers.RestAPIController    : Reached All GetMapping on the server

这就是日志在实际 AWS 实施中的显示方式吗?我的印象是 CloudWatch 可以默认提供此设置,而无需将日志下载为 zip 并提取它们进行分析。在具有数千个请求的实际实现中,唯一的选择是将这些日志文件下载为 zip 然后解压缩它们似乎并不准确。

我是 AWS 新手,所以如果我缺少配置/连接,请提出建议。

谢谢, 帕万。

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    默认情况下,Elastic Beanstalk 不会将日志流式传输到 CloudWatch,但这可以在我们创建应用程序时启用。为此,我们必须选择Configure More Options,然后在Software 部分选择Edit

    从那里我们可以启用日志流:

    如果我们已经有一个带有环境的应用程序,我们仍然可以通过进入 Configurations 而不是 Software 部分来启用流式传输到 CloudWatch:

    【讨论】:

      猜你喜欢
      • 2017-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2017-03-25
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多