본문 바로가기
WIKI 기술 지식 베이스

브라우저 오류 추적(Browser Error Tracking)

원문 보기 위키 갱신

브라우저와 모바일 로그 SDK에서 수집된 오류를 추적하고 이슈로 그룹화해요.

출처: 문서

본문

개요

Error Tracking은 브라우저 및 모바일 Datadog 로그 SDK에서 수집된 오류를 처리해요. 스택 트레이스를 포함하는 오류가 수집될 때마다 Error Tracking은 이를 이슈 아래 처리하고 그룹화해요. 이슈는 유사한 오류의 그룹이에요.

로그 오류의 필수 속성은 로그의 error.stack에 있는 스택 트레이스예요. 스택 트레이스를 Datadog로 보내고 있지만 error.stack에 없다면, 일반 로그 리매퍼를 설정해 스택 트레이스를 Datadog의 올바른 속성에 다시 매핑할 수 있어요.

크래시 리포트는 Error Tracking에 나타나요.

셋업

브라우저

Datadog 브라우저 로그 SDK를 아직 설정하지 않았다면 인앱 셋업 지침을 따르거나 브라우저 로그 셋업 문서를 참고하세요.

  1. 최신 버전의 Logs Browser SDK를 다운로드하세요. Error Tracking에는 최소 v4.36.0이 필요해요.

  2. SDK 초기화 시 애플리케이션의 version, env, service를 구성하세요. 예를 들어 NPM으로:

    import { datadogLogs } from '@datadog/browser-logs'
    
    datadogLogs.init({
      clientToken: '<DATADOG_CLIENT_TOKEN>',
      site: '<DATADOG_SITE>',
      service: '<MY_SERVICE>',
      env: '<MY_ENV>',
      forwardErrorsToLogs: true,
      sessionSampleRate: 100,
    })
    
  3. 잡힌 예외를 직접 로깅하려면 선택적 오류 파라미터를 사용할 수 있어요.

    try {
      throw new Error('wrong behavior');
    } catch(err) {
      datadogLogs.logger.error("an error occurred", {usr: {id: 123}}, err);
    }
    

참고: Error Tracking은 Error의 인스턴스인 오류만 고려해요.

Android

Datadog Android 로그 SDK를 아직 설정하지 않았다면 인앱 셋업 지침을 따르거나 Android 로그 셋업 문서를 참고하세요.

  1. 최신 버전의 Datadog Android 로그 SDK를 다운로드하세요.

  2. SDK 초기화 시 애플리케이션의 version, env, service를 구성하세요.

  3. 잡힌 예외를 직접 로깅하려면 선택적으로 다음을 사용할 수 있어요.

    try {
      doSomething()
    } catch (e: IOException) {
      logger.e("an exception occurred", e)
    }
    

iOS

Datadog iOS 로그 SDK를 아직 설정하지 않았다면 인앱 셋업 지침을 따르거나 iOS 로그 셋업 문서를 참고하세요.

  1. 최신 버전의 Datadog iOS 로그 SDK를 다운로드하세요.

  2. SDK 초기화 시 애플리케이션의 version, env, service를 구성하세요.

  3. 잡힌 예외를 직접 로깅하려면 선택적으로 다음을 사용할 수 있어요.

    do {
      // ...
    } catch {
      logger.error("an exception occurred", error)
    }
    

Kotlin Multiplatform

Datadog Kotlin Multiplatform 로그 SDK를 아직 설정하지 않았다면 인앱 셋업 지침을 따르거나 Kotlin Multiplatform 로그 셋업 문서를 참고하세요.

  1. 최신 버전의 Datadog Kotlin Multiplatform 로그 SDK를 다운로드하세요.

  2. SDK 초기화 시 애플리케이션의 version, env, service를 구성하세요.

  3. 잡힌 예외를 직접 로깅하려면 선택적으로 다음을 사용할 수 있어요.

    try {
      doSomething()
    } catch (e: IOException) {
      logger.error("an exception occurred", e)
    }
    

더 알아보기 (Learn more)

추가로 도움이 되는 문서, 링크, 아티클: