首页 > 解决方案 > 在 Elastic Beanstalk 上简单登录 .NET Core 应用程序

问题描述

我刚刚开始在 Elastic Beanstalk 上放置一些 ASP.NET Core 应用程序。我最初想做一些简单的日志记录,只是为了追踪一些问题。我通常使用 Serilog,但此时,我只需要将一些信息输出到我可以查看的日志中。

我看到它在 /var/log/web.stdout.log (在 Linux 上运行)中捕获了异常。

我可以让 Serilog 的文件接收器写入这些文件之一吗?

我最终会实现 Cloudwatch,但现在我正在寻找一些简单的东西。

标签: amazon-web-servicesasp.net-corelogging.net-coreamazon-elastic-beanstalk

解决方案


您不能直接写入/var/log/web.stdout.log文件,因为该文件归 拥有root,并且您的应用程序在webapp用户下执行。如果您尝试直接修改日志文件,您将被拒绝访问。

但是您可以告诉 EB 哪些日志文件(特定于您的应用程序)包含在其捆绑包中。这是通过.ebextensions. 具体来说,您可以拥有一个配置文件.ebextensions/mylogfiles.config,其中包含以下示例性内容:

files: 
  "/opt/elasticbeanstalk/config/private/logtasks/bundle/mylogfiles.conf":
    mode: "000644"
    owner: root
    group: root
    content: |
       /var/app/current/logs/*.log

哪里/var/app/current/log/*.log需要根据您的应用程序存储其日志的方式进行调整。


推荐阅读