2

I've been upgrading to Amazon linux 2 recently and I'm now trying to debug my node application with the web.stdout logs. I was seeing them previously and now they aren't being shown. I can curl my node application as expected so I know it has to be running.

I've tried to restart my amazon-cloudwatch-agent since that is what is being used for logging and I've re-deployed my beanstalk application and it's still not showing them. I'm not sure why this would be happening.

MillerC
  • 663
  • 1
  • 11
  • 26

1 Answers1

3

Well... I'm using a Procfile to handle my npm run start:prod command and in the Procfile I was using I had a different process_name being used. The correct way I needed to start my node app to have it log to the web.stdout log was to have it setup like this...

<process_name1>: <command1>
web: npm run start:prod

I didn't see anything that specifically stated to name the start command web: until reading the documentation here,

"Elastic Beanstalk captures standard output and error streams from Procfile processes in log files. Elastic Beanstalk names the log files after the process and stores them in /var/log. For example, the web process in the preceding example generates logs named web-1.log and web-1.error.log for stdout and stderr, respectively."

Once I changed my process_name1 to web, I started to see logs in the web.stdout log again.

+1 for having a helpful co-worker ask why I didn't name it web

MillerC
  • 663
  • 1
  • 11
  • 26