티스토리 뷰

참새가 방앗간을 들리듯이 센트리가 에러를 프로젝트로 보내기 전에 반드시 방문하게 되는 HOOK이 있다.

https://docs.sentry.io/platforms/javascript/guides/electron/configuration/options/#before-send

 

Basic Options for Electron

Learn more about how to configure the SDK. These options are set when the SDK is first initialized, passed to the init function as an object.

docs.sentry.io

 

바로

BeforeSend

라는 함수인데, 말 그대로 이슈를 보내기 전에 무조건 실행되는 함수이다. 가령 이슈를 수정하거나 정보를 추가해야 할 때, 혹은 슬랙 등으로 메세지를 보내고 싶을 때 (기본 슬랙 연결 기능은 유료 버전이다), 혹은 원치 않는 조건의 이슈를 블락시킬 때 등 유용하게 사용되는 함수이다.

사용방법은 매우 간단하다.

Sentry.init({
  beforeSend(event, hint) {
    console.log('event', event);
    console.log('hint', hint);
    return event;
  },
});

Sentry init 내부에 beforeSend 함수를 불러주면 된다. 나는 예시로 일반 함수를 적었지만 화살표 함수도를 사용해도 무방하다.

Parameter는 event와 hint가 있으며, event 객체에는 에러가 수집된 경로, URL, event Id, 플랫폼, 기타 설정 태그 (release 버전 등)의 정보가 들어있고, hint에는 에러 메세지 등이 들어있다. 실제로 나는 실무에서 에러가 수집된 URL을 체크하여 일부 URL에서는 수집을 제외하는 코드를 작성한 적이 있으며, 옆동네 친구는 슬랙 등으로 메세지를 보내는 코드를 해당 함수 내부에 작성하여 사용한다고 하였다.

수집하고자 하는 오류는 return event로 event 객체를 돌려주고, 수집에서 제외하고자 하는 오류는 특정 조건을 걸어 return null로 넘겨준다.

특히 무료버전을 사용하는 프로젝트라면 한 달의 개수 제한 때문에 에러를 아무거나 받기에 부담이 되는데, 여기서 특정 조건을 필터링 하여 수집하지 않게되면 에러 개수에 카운팅이 되지 않아 효율적인 용량 사용이 가능하다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함