- 리액트 16v 이상부터는 Sentry 에서 제공해주는 ErrorBoundary 를 사용가능하다.
- 해당 컴포넌트는 React의 ErrorBoundary로부터 영향받았다.
- fallback 을 설정할 수도 있음!
- 리액트 17버전 이상부터는, 해당 SDK 는 에러바운더리의 컴포넌트 스택을 해석하여,
error.cause
를 통해 stacktrace 를 추적한다.
- 전체적인 소스 컨텍스트를 알기 위해서는 소스맵을 설정하길 추천!
2. ReactRouter, Redux 통합하기
- 오..요런것도 가능함.
- React Router 나 Redux랑 intergration 해서 데이터 구체화하기
- stack trace 를 더 구체화시키려면 소스맵을 센트리에 업로드하기
- 비슷한 이벤트로그를 하나의 이슈로 통합한다.
- 센트리에서 각 이벤트는 fingerprint를 갖고 있음
- fingerprint는 이벤트 내 수집된 stacktrace, exception, message 와 같은 정보들을 기반으로 내재되어있는 그룹화 알고리즘으로 생성되며, fingerprint가 동일한 이벤트들은 자동으로 하나의 이슈로 그룹화됨.
- 내재화 된 알고리즘에 기반하여 그룹화되므로 예상과 다르게 될 때가 있음.
- 예를들어 API 오류! 요청 uri 가 동일하면 센트리는 status 가 달라도 같은 이슈로 그룹화함.
- 따라서 이 때 issueGrouping 을 사용하여 method, status, url 을 fingerprint 조건으로 추가할 수 있음.
5. 이벤트 로그에 대한 정보
- Exception & Message
- 이벤트 로그 메시지 및 코드라인 정보 (소스맵설정해야 더 정확한 코드라인 파악 가능)
- Device
- Browser
- OS
- Breadcrumbs
6. Context
- 이벤트에 임의의 데이터 연결 가능
- API 오류의 경우 요청 데이터 / 오류 응답 데이터
- Context 를 사용해서 설정 가능.