안녕하세요 여행의 직구 개발자 준입니다. 서버에 error handler를 사용하지 않는다면 오류 발생 시 에러코드를 브라우저에 바로 보여집니다. 이현상을 잡기위해서는 error handler 가 필요한데요. 사용방법은 간단합니다. app.use의 마지막 부분에 // error handlerapp.use(function (err, req, res, next) { console.error("서버 오류 발생", err); res.status(500).send('서버오류가 발생하였습니다.');}); 소스를 추가해주시면 됩니다. 더 자세한 원리를 알고 싶으시다면La.place 님의 블로그에 잘 정리가 되어있습니다. 감사합니다~ http://dev-momo.tistory.com/entry/nodejs-error-..
개발환경로그 : pm2 logrotate 사용 안녕하세요 개발을 진행하다가 언젠가 부터 서버가 터져도 로그에 에러로그가 안남는 버그가 발생 했었습니다. 치명적인 버그가 발생하였는데 log 정보에 저장이 안된다는것은 매우 치명적인 현상이었습니다!! 그래서!! 이전 로그들을 추적하여 function에 예기치 못한 오류를 만나게 되면 서버가 종료되는 현상이 발견되었습니다. callback 함수로 이루어진 function 내에서 치명적인 버그(서버가 종료되는) pm2 logrotate가 error.log에 작성이 되지 않더군요. (아마 nodejs 에러 출력이 pm2 logrotate에 도달하기 전에 종료되어 그런것 같습니다.) 이점을 해결하기위해 사용한것이 !! process.on('uncaughtExcept..
1. 상품 디비 검색 후 populate를 통하여 user 정보를 가져 왔을때 user의 DB를 변경하면 다른 상품 정보라고 해도 같은 모든 user정보가 변경된다. ex) item[0] 정보와 item[3] 정보에서 user은 같은 user를 참조한다고 하였을때 item[0].user.email = "abc@abc.abc" 라고 했을때 console.log(item[3].user.email); 하면 "abc@abc.abc"가 출력된다!