DRF로 api 서버 개발(7) - 에러탐지

Dongwon Ahn·2020년 8월 1일
1

DRF로 API Server 개발

목록 보기
8/8
post-thumbnail

프로그램 개발 시 수 많은 에러를 경험하면서 개발합니다.
실제로 저도 이 시리즈를 작성할 때 에러가 많이 나왔습니다.
그러면 우리가 이렇게 만든 프로그램에 에러가 이제 없을까요?
그렇지 않을겁니다. 우리가 모르는 에러가 있을 것이며,
그것이 정식 배포 되었을 경우 에러가 발생하였는데 개발자가 모르면 심각한 상황이 될 것입니다.

작년에 node.js 로 프로젝트를 진행할 때 pm2를 몰랐을 때 에러가 발생하면 프론트 분들이 알려주시기 전까지 서버 작동 유무를 모를때도 있었습니다.
에러 탐지를 했었으면 그런 문제를 덜 겪었을 것입니다.

sentry 세팅

sentry 사이트에 들어가서 로그인을 할 경우 아래 이미지 처럼 나올 것입니다.

New Oraganization 을 클릭하시면 조직 이름을 작성하라고 하는데 편의에 맞춰서 작성해주시면 됩니다.
그 후 아래 이미지 처럼 진행을 해주시면 됩니다.

I'm Ready! 를 클릭해주세요.

프로젝트 메인 코드를 물어보는 질문인데 이번 프로젝트는 Django로 했기 때문에 Django를 클릭 후 하단에 나오는 Setup Your Project 버튼을 클릭해주세요.

해당 코드를 진행해주시면 됩니다.
여기까지 진행을 하게 되면 sentry.io로 다시 돌아가게 되면 project가 추가된 것을 확인할 수 있습니다.

에러 테스트

sentry가 정상적으로 에러를 탐지하는지 테스트를 한번 해보겠습니다.
테스트를 위해 api를 하나 만들어서 에러를 강제로 만들어 보겠습니다.

이메일 test 할때 생성했던 testapi/views.py에 강제 에러 코드를 하나 작성합니다.

@api_view(['GET'])
@permission_classes([AllowAny])
def occur_error(request):
    raise ValueError

testapi/urls.py에 url를 연결합니다.

    path('error/', views.occur_error),

그 후 해당 api를 실행해 보겠습니다.

이렇게 에러가 발생하면 sentry를 확인해보겠습니다.
아래 이미지 처럼 issues에서 확인해보면 됩니다.

profile
Typescript를 통해 풀스택 개발을 진행하고 있습니다.

0개의 댓글