AWS Elastic Beanstalk NodeJS 和日志

Posted

技术标签:

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

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

最好的问候

【问题讨论】:

【参考方案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 文件

以上是关于AWS Elastic Beanstalk NodeJS 和日志的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk CLI 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk

AWS Elastic Beanstalk chown PythonPath 错误