npm: https://www.npmjs.com/package/@teamsparta/cross-platform-logger?activeTab=versions

Untitled

소개

<aside>

팀스파르타 여러 사업부 클라이언트 단에서 발생하는 다양한 사용자 이벤트를 안정적으로 수집할 수 있는 전사 로그 수집 파이프라인 패키지 (CPL)

</aside>

아키텍처

제목 없는 다이어그램.drawio (1).svg

  1. CPL.sendCPLog(key, data); 함수를 호출하면, CPL library는 Amplitude, Hackle, Kinesis 이 세 곳으로 로그를 동시에 보냄.

  2. Kinesis (AWS 이벤트 스트리밍 플랫폼) 에 들어온 로그는, 아래 MongoDB HTTP Endpoint로 전송됨.

    스크린샷 2025-02-07 오전 10.57.56.png

  3. Mongo Realm App이 해당 Endpoint에서 데이터를 받은 후, Linked Function을 사용해서 로그 데이터를 logs.logs_prod, logs_raw 컬렉션에 적재함.

Error Logs


Page Unload 시점 로그 유실 방지

<aside> 🚨

문제: 기존에는 로그 이벤트를 AWS SDK(Kinesis Client)로 전송했지만, 사용자가 페이지를 떠나거나 다른 도메인으로 이동할 때 해당 요청이 취소되어 로그가 유실되는 문제 발생

</aside>