만쥬의 개발일기
article thumbnail

서버를 배포중, 문제가 생겼을 때 에러를 확인하려면 반드시 log를 확인해야 한다.

하지만 node.js에서 forever로 실행할 경우, 콘솔에 찍은 에러는 확인이 불가능하기 때문에 반드시 따로

로그 파일을 생성해주어야한다.

물론 server.js에서 처리해주어도 되지만, 기존 콘솔에 찍히던 log들을 모두 옮겨주기도 귀찮고 테스트시에는

어차피 콘솔에 찍으며 하기 때문에, 콘솔에 찍히던 log또한 파일에 저장 후 확인 가능하도록 하였다.

sudo forever start -w -o ../out.log -e ../err.log server.js

위와 같이 실행할경우, 기존 출력되던 로그들은 out.log 파일에, 오류 출력 로그들은 err.log에 정상적으로 저장된다.

 

  • -w: 파일 변경을 감지하고 자동으로 재시작.
  • -o ../out.log: 표준 출력(stdout)을 로그 파일로 저장한다. ../out.log는 로그 파일의 경로이다.                                                                                                                                                   (서버파일이 존재하는 폴더의 상위 폴더)
  • -e ../err.log: 오류 출력(stderr)을 로그 파일로 저장한다. ../err.log는 로그 파일의 경로이다.                                                                                                                                                     (서버파일이 존재하는 폴더의 상위 폴더)
  • server.js: 실행할 Node.js 서버 파일의 이름.

 

이제 해당 파일들의 위치로 가서 tail 명령어로 로그가 잘 저장되고 있는지 확인해보자.

로그가 잘 저장되는 모습!

profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!