본문 바로가기

파이어몽키

Kinvey(BaaS)에서 Business Logic 디버깅(테스트, 로깅) 하기

클라우드 서비스 중 백엔드 서비스를 이용할 수 있는 BaaS를 델파이에서 이용할 수 있는 것 많이들 아실텐데요.


사실 참고할 만한 내용이 많지 않아 아쉬울 따름입니다.(하지만 전세계적으로 사용량이 급증하고 있어 많은 참고할 글들이 곧 생긱것이라 확신합니다.) 제가 테스트하며 도움이 될만한 정보를 많이 남겨야겠습니다.

이상 사설이었구요.

Kinvey에서 비지니스 로직 디버깅하기

오늘은 BaaS 제공자 중 Kinvey에서 비지니스 로직을 만들 때 도움이 될만한  비지니스 로직을 디버깅 하는 내용에 관한 글입니다.

비지니스 로직은 일종의 함수라고 생각하면 됩니다. 사용자 및 파일이 추가되기 전/후(Before, After), 푸시메시지 요청 시 등록된 비지니스 로직이 호출됩니다.


오늘 제가 테스트한 내용은 푸시메시지 호출 시 특정 대상에게만 푸시메시지를 전송하는 비지니스 로직(onRequest)을 작성해봤습니다.(이 내용은 곧 포스팅 하겠습니다.

❑ 로그를 남기고 확인하기

비지니스 로직을 작성하다보면 예상한 결과대로 되지 않을때가 더 많습니다. 그때는 로그를 남겨야 하는데요. 다음과 같은 코드로 로그를 남길 수 있습니다.

var 
  logger = modules.logger;
  logger.info('request.body.username: ' + request.body.username);

그리고 로그를 확인하기 위해서는 에디터 아래의 logs 버튼을 누르면 로그 콘솔이 표시됩니다.


다음과 같은 형태로 로그가 표시됩니다.


❑ 비지니스 로직 테스트

매번 프로그램을 돌려 테스트하는 것보다 Kinvey 사이트 내에서 테스트하는 것이 더 간단합니다.

Addons > Developer Tools > API Console로 API 콘솔 화면으로 이동합니다.


좌측메뉴에서 대상 비지니스 로직을 선택하고, Headers를 추가하거나 필요한 내용의 body 내용을 추가 후 Send Request 버튼을 누르면 비지니스 로직이 동작합니다.

body 내용은 푸시메시지를 받는 사용자정보를 넣어봤습니다. JSON 포맷으로 작성해야 합니다.


다음과 같이 HTTP/1.1 200으로 나오면 잘 동작한 것입니다. 물론 로그를 통해 과정도 확인해야 합니다.


만약 문법상의 오류가 있다면 아래와 같이 HTTP/1.1 400형태의 응답이 오고, 하단에 error, description, debug 항목을 통해 오류의 내용을 안내합니다.