Skip to content

sentry 적용

Ha In Ho edited this page Nov 22, 2021 · 1 revision

sentry 가입하기

express 선택하기

sentry 설치

npm install --save @sentry/node @sentry/tracing

src/.env 파일에 sentry dsn 추가

SENTRY_DSN=

src/app.ts 에 sentry code 추가

Sentry는 app.ts에서 가능한 한 빨리 init 되어야 합니다.

...

import * as Sentry from "@sentry/node";

const app = express();

Sentry.init({dsn: process.env.SENTRY_DSN});

// request handler 는 app의 첫번째 미들웨어로 사용되어야 합니다.
app.use(Sentry.Handlers.requestHandler());

// error handler 는 모든 컨트롤러 이후, 그리고 모든 에러 핸들러 이전에 사용되어야 합니다.
app.use(Sentry.Handlers.errorHandler());

src/app.ts 에 테스트를 위해 에러를 던지는 api 코드 추가

app.get("/debug-sentry", function mainHandler(req, res) {
  throw new Error("My first Sentry error!");
});

postman 으로 해당 api를 호출하여 에러를 발생시키고 메일로 알림이 오는 것과 센트리 사이트에 에러가 추가되어 있는 것을 확인

주의사항

sentry 는 무한정 무료가 아니므로 배포 환경에서만 사용하고 개발환경에서는 콘솔에 찍히는 로그를 사용하는 것이 좋습니다.

src/app.ts 에 배포 환경일 경우에 sentry 사용하도록 코드 수정

if (process.env.NODE_ENV === 'production') {
  //sentry 코드들 추가
}