Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AWS弹性豆茎节点和原木_Node.js_Logging_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Node.js AWS弹性豆茎节点和原木

Node.js AWS弹性豆茎节点和原木,node.js,logging,amazon-web-services,amazon-elastic-beanstalk,Node.js,Logging,Amazon Web Services,Amazon Elastic Beanstalk,我想将我的NodeJS项目从单个EC2迁移到ElasticBeanstalk。在我当前的代码中,我使用依赖项log4js,它在文件系统上创建一个日志文件。在EC2上,这是可行的,但在ElasticBeanstalk中,什么是记录某些内容的最佳方式?如果我从ElasticBeanstalk下载生成的日志,那么从log4js下载的自定义日志文件就不存在了 致意要查看日志,您可以: 按压弹性豆茎环境 按“日志”(左侧) 按“请求日志”(通常最后100行就可以了)并下载文件 您可以在那里看到一些不同

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


致意

要查看日志,您可以:

  • 按压弹性豆茎环境
  • 按“日志”(左侧)
  • 按“请求日志”(通常最后100行就可以了)并下载文件
您可以在那里看到一些不同的日志文件

我相信您在Node.js中使用log4js编写的日志将处于以下状态:

/var/log/nodejs/nodejs.log

我喜欢ssh到elastic beanstalk实例中,跟踪日志以查看它是否正在更新“live”(当我使用服务器时)。要执行此操作,请运行以下命令:

eb-ssh

tail-n50-f/var/log/nodejs/nodejs.log

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

通常,当您部署到Elastic Beanstalk linux环境时,您的应用程序将处于以下状态:

/var/app/current


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

如果您的EB环境有多个负载平衡EC2实例,该怎么办?eb-ssh不会只连接到一个EC2实例吗?那么您应该ssh到您的EC2中(而不是使用eb-ssh)。必须在多台机器上完成这项工作会让事情变得更加困难,但我看不到解决办法。在Linux 2上,AWS使用
/var/log/web.stdout.log
而不是
/var/log/nodejs/nodejs.log
^^^^^泰勒所说的。使用Linux 2,我看不到/var/log/nodejs文件夹或/var/log/web.stdout.log文件