Sentry는 코드의 오류를 식별하고 분류하는데 도움이 되는 외부 모니터링 및 로깅 서비스를 제공함
모든 로그를 기록하는 것이 아닌 error
로그만 기록되어짐
errorHandler
를 통해 특정 error code(404, 500) 등만을 에러로 식별할 수 있음.DSN 정보는 비밀로 취급되어 하며, 누구와도 공유되지 않아야 함
각 프로젝트 DSN 확인하는 방법
Create Project -> Node.js 선택
옵션 선택
1) I'll create my own alerts later : alert를 설정하지 않고 프로젝트를 만들겠다.
2) Alert me on every new issue : 새로운 issue가 나올때마다 알림을 주는 alert를 프로젝트 생성 시 만들어 주겠다
3) When there are more than ... : 1분 동안 unique 한 error가 10번보다 더 생기면 알림을 주겠다
npm install --save @sentry/node
입력/* Sentry 세팅 */
Sentry.init({
dsn: "", // 입력
tracesSampleRate: 1.0,
});
// 첫번째 미들웨어로 설정
app.use(Sentry.Handlers.requestHandler());
// Sentry 오류 핸들러는 모든 컨트롤러의 뒤와 다른 오류 미들웨어의 앞에 있어야 함
app.use(Sentry.Handlers.errorHandler());
async function testAPI(req, res, next){
throw new Error("에러 테스트!");
}
Postman으로 API 요청
서버 로그 확인
Sentry 이슈 확인
클릭 시 어떤 코드에서 발생했는지, 사용자 환경 등 자세한 정보 확인 가능
참고한 사이트: