- 키워드: jennifer front, monitoring, error logging, ajax error, js error
- 상황
- 웹사이트를 이용하던 유저로부터 버그 제보가 들어왔을 경우, Server Error이거나 반복적인 버그인 경우 추적 및 해결이 간단하지만 프론트엔드 단에서 간헐적으로 발생하거나 우연히 발생한 버그인 경우 추적이 어렵다.
- 웹사이트에서 발생하는 network error 또는 JS error를 로깅할 필요가 있다.
- 해결 방법
- 쉽고 빠르게 웹사이트에 적용할 수 있는 모니터링 툴을 간단하게 소개하고자한다.
바로 제니퍼 프론트(https://front.jennifersoft.com/about/ko/)이다.
- 구글 계정으로 로그인을 하고, 추적 코드를 복사한다.
추적 코드를 웹사이트의 필요한 페이지에 복사하면 되는데, 본인의 경우 리액트 프로젝트 전체의 JS error를 추적하는 것이 주목적이므로 'index.html'의 head tag에 코드를 복사한다.
'if ('%REACT_APP_MODE%' === 'production')' 을 통해 production mode일 때만 로깅하도록 한다.<!-- index.html --> <script> if ('%REACT_APP_MODE%' === 'production') { (function(j,ennifer) { j['dmndata']=[];j['jenniferFront']=function(args){window.dmndata.push(args)}; j['dmnaid']=ennifer;j['dmnatime']=new Date();j['dmnanocookie']=false;j['dmnajennifer']='JENNIFER_FRONT@INTG'; }(window, '...')); } </script> <script async src="https://d-collect.jennifersoft.com/.../demian.js"></script>
- 이제 웹사이트를 배포하면 제니퍼 프론트 대시보드를 통해 모든 정보를 모니터링 할 수 있다.
페이지 호출 시간/수, 접속자 수, resource/page load 시간 등 기본 정보를 확인할 수 있다.
오른쪽의 JS Error 탭을 눌러 어떤 js error가 언제 발생했는지 알 수 있다. 프론트엔드 단에서 발생하는 에러의 원인을 찾고 재현하는 데에 큰 도움이 될 것 같다.
AJAX 탭에서 모든 ajax 요청에 대한 정보를 확인할 수 있다.
에러 추적과 더불어 network 시간, 용량 등의 정보를 바탕으로 백엔드 개발자와 수월한 의논이 가능하다.
JENNIFER Front 외의 모니터링 툴도 많겠지만, JENNIFER Front는 쉽고 빠르게 도입할 수 있었고 제공해주는 정보와 UI/UX 모두 만족스러웠다.
- 쉽고 빠르게 웹사이트에 적용할 수 있는 모니터링 툴을 간단하게 소개하고자한다.
'프론트엔드' 카테고리의 다른 글
ESLint custom rule(plugin) 만들기 (0) | 2022.06.12 |
---|---|
iframe으로 Vue to React Migration 준비하기 (0) | 2022.06.12 |
package.json에서 yarn resolutions 적용하기 (0) | 2022.05.21 |
safari, iPhone 예외 상황 대응하기(Navigation Gestures, new Date) (0) | 2022.04.21 |
Web Worker로 setTimeout을 백그라운드에서 유지하기 (0) | 2022.04.20 |