【问题标题】:AWS Elastic Beanstalk NodeJS and logsAWS Elastic Beanstalk NodeJS 和日志
【发布时间】:2015-01-14 08:09:30
【问题描述】:

我想将我的 NodeJS 项目从单个 EC2 迁移到 ElasticBeanstalk。在我当前的代码中,我使用在文件系统上创建日志文件的依赖项 log4js。在 EC2 上,这可以创建,但是 ElasticBeanstalk 中记录某些内容的最佳方式是什么?如果我从 ElasticBeanstalk 下载生成的日志,我的 log4js 自定义日志文件不存在。

最好的问候

【问题讨论】:

    标签: node.js logging amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    要查看日志,您可以:

    • 按下弹性豆茎环境
    • 按“日志”(在左侧)
    • 按“请求日志”(通常只需最后 100 行即可)并下载文件。

    您可以在那里看到几个不同的日志文件。

    相信你在Node.js中使用log4js写的日志会在:

    /var/log/nodejs/nodejs.log

    我喜欢通过 ssh 进入弹性 beanstalk 实例并跟踪日志以查看它是否正在“实时”更新(当我使用我的服务器时)。执行以下操作:

    eb ssh

    tail -n 50 -f /var/log/nodejs/nodejs.log

    以上日志路径取决于 EC2 的类型。在 Linux 2 上是:/var/log/web.stdout.log

    一般来说,当您部署到 Elastic Beanstalk linux 环境时,您的应用程序将位于:

    /var/app/当前

    尝试在此路径下查找您的日志文件 - 它们与您在本地运行应用程序时的名称相同。

    【讨论】:

    • 如果您的 EB 环境有多个负载均衡的 EC2 实例怎么办? eb ssh 不会仅连接到单个 EC2 实例吗?
    • 那么您应该通过 ssh 进入您的 EC2(而不是使用 eb ssh)。必须在多台机器上执行此操作会使事情变得更加困难,但我没有找到解决办法。
    • 在 Linux 2 上仅供参考,AWS 使用 /var/log/web.stdout.log 而不是 /var/log/nodejs/nodejs.log
    • ^^^ @Tyler 说了什么。
    • 使用 linux 2 我看不到 /var/log/nodejs 文件夹或 /var/log/web.stdout.log 文件
    猜你喜欢
    • 2019-02-11
    • 2023-04-06
    • 2017-09-22
    • 2017-04-04
    • 2017-01-17
    • 2019-02-22
    • 2015-12-14
    • 2019-01-04
    • 2015-04-17
    相关资源
    最近更新 更多