[출처] http://tod2.tistory.com/239
[출처] http://tod2.tistory.com/239
Node 에서 log4js 를 사용하고, pm2 cluster 모드 사용 시 log4js 로그가 출력되지 않는 현상이 있음.
pm2-intercom 을 활용하여 해결.
pm2 worker 에서는 log4js 출력이 되지 않고, master 프로세스에서만 출력 된다고 합니다.
pm2-intercom 에서 logEvent 를 받아 모든 프로세스로 broadcast 해준다고 하네요. 아래 그림 참고.
그림 ref: https://github.com/log4js-node/log4js-node/issues/547#issuecomment-385136125
설정 ref
- 예시: https://gist.github.com/nomiddlename/99b7530281debc926d5e7b8a3b87350f
- log4js Configuration : https://log4js-node.github.io/log4js-node/api.html#configuration-object
근데 console.log 는 찍히고, log4js stdout 은 왜 안찍히냐가 궁금한데 (console.log 는 process.stdout 를 사용함)
Console.prototype.log 쪽에서 this._stdout 를 사용하는 것으로 보아 worker 단위로 생성되는 것이 아닐까 추정만 해봄
- https://github.com/nodejs/node/blob/81bc23fe61994784de270d5fc01bc5315dfa62f3/lib/console.js#L197
- https://github.com/log4js-node/log4js-node/blob/master/lib/appenders/stdout.js
[출처] http://tod2.tistory.com/239
[출처] http://tod2.tistory.com/239
'Language > JavaScript' 카테고리의 다른 글
[Nodejs] [node.js] express.js 라우트 요청 객체(req), 응답 객체(res) 정리 (0) | 2018.12.13 |
---|---|
[nodeJs] PM2 - 2 (0) | 2018.12.12 |
react-router :: 1장. 리액트 라우터 사용해보기 (1) | 2018.10.12 |
React 개발자가 실수하기 쉬운 몇 가지 (0) | 2018.10.12 |
[nodeJs] PM2 (0) | 2018.07.24 |