본문으로 건너뛰기

eventLog

앱 내에서 발생하는 다양한 이벤트를 로깅하는 함수입니다. 디버깅, 정보 제공, 경고, 에러 등 다양한 유형의 로그를 기록할 수 있습니다. 샌드박스 환경에서는 콘솔에 로그가 출력되고, 앱인토스 환경에서는 로그 시스템에 기록됩니다.

시그니처

import { eventLog } from '@apps-in-toss/web-framework';

type Primitive = string | number | boolean | null | undefined | symbol;

interface EventLogParams {
log_name: string;
log_type: 'debug' | 'info' | 'warn' | 'error' | 'event' | 'screen' | 'impression' | 'click' | 'popup';
params: Record<string, Primitive>;
}

declare function eventLog(params: EventLogParams): Promise<void>;

파라미터

이름타입필수설명
log_namestring로그의 이름.
log_type'debug' | 'info' | 'warn' | 'error' | 'event' | 'screen' | 'impression' | 'click' | 'popup'로그의 유형.
paramsRecord<string, Primitive>로그에 포함할 추가 매개변수 객체.

log_type 값 가이드

용도
'event'사용자 액션 이벤트 (기본값)
'click'클릭 인터랙션
'screen'화면 진입
'impression'컴포넌트 노출
'debug'개발 중 디버깅
'info'정보성 로그
'warn'경고
'error'에러
'popup'팝업 노출

반환값

  • Promise<void> — 로그 기록이 완료되면 resolve합니다.

권한

권한이 필요하지 않습니다 — eventLog는 별도의 PermissionName에 바인딩되지 않습니다.

예제

최소 예제

import { eventLog } from '@apps-in-toss/web-framework';

await eventLog({
log_name: 'button_click',
log_type: 'click',
params: {},
});

실전 예제 — 화면 진입 로깅

import { eventLog } from '@apps-in-toss/web-framework';
import { useEffect } from 'react';

function ProductPage({ productId }: { productId: string }) {
useEffect(() => {
eventLog({
log_name: 'product_screen_view',
log_type: 'screen',
params: {
product_id: productId,
},
});
}, [productId]);

return <main>{/* 상품 페이지 */}</main>;
}

실전 예제 — 에러 로깅

import { eventLog } from '@apps-in-toss/web-framework';

async function fetchData(url: string) {
try {
const response = await fetch(url);
return await response.json();
} catch (error) {
await eventLog({
log_name: 'fetch_error',
log_type: 'error',
params: {
url,
message: error instanceof Error ? error.message : String(error),
},
});
throw error;
}
}

직접 실행해 보기

sdk-example의 Analytics 페이지에서 eventLog를 직접 호출하고 결과를 확인할 수 있습니다.

sdk-example에서 실행해 보기

관련 API

관련 가이드

외부 참조