ブラウザとモバイルのエラーの追跡

概要

エラートラッキングは、ブラウザやモバイルの Datadog SDK から収集されたエラーを処理します。スタックトレースを含むエラーが収集されると、エラー追跡はそれを処理し、類似したエラーのグループ化である_問題_の下にグループ化します。

ログのエラーに不可欠な属性は、ログの error.stack にあるスタックトレースです。もし、スタックトレースを Datadog に送信しているが、error.stack にない場合、ジェネリックログリマッパーをセットアップして、スタックトレースを Datadog の正しい属性にリマップすることが可能です。

クラッシュレポートは Error Tracking に表示されます。

セットアップ

Datadog ブラウザ SDK をまだセットアップしていない場合は、アプリ内セットアップ手順に従うか、ブラウザログの設定ドキュメントをご覧ください。

  1. ログブラウザ SDK の最新バージョンをダウンロードします。

  2. SDK の初期化の際に、アプリケーションの versionenvservice を構成します。

  3. NPM などで SDK を初期化します。

    import { datadogLogs } from '@datadog/browser-logs'
    
    datadogLogs.init({
      clientToken: '<DATADOG_CLIENT_TOKEN>',
      site: '<DATADOG_SITE>',
      service: '<MY_SERVICE>',
      env: '<MY_ENV>'
      forwardErrorsToLogs: true,
      sampleRate: 100,
    })
    
  4. キャッチされなかった例外をすべてキャッチして Datadog に送信するには、初期化付近に次のスニペットを追加する必要があります。

    window.onerror = function (message, source, lineno, colno, error) {
        datadogLogs.logger.error(error?.message || '', {
            error: { stack: error?.stack },
        });
    };
    
  5. キャッチした例外を自分でログに残すには、オプションで以下を使用できます。

    const e = new Error('an exception occurred');
    datadogLogs.logger.error(e.message, {'error': {'stack': e.stack}});
    

Datadog Android SDK をまだセットアップしていない場合は、アプリ内セットアップ手順に従うか、Android ログの設定ドキュメントをご覧ください。

  1. Datadog Android SDK for Logs の最新版をダウンロードします。

  2. SDK の初期化の際に、アプリケーションの versionenvservice を構成します。

  3. キャッチした例外を自分でログに残すには、オプションで以下を使用できます。

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

Datadog iOS SDK をまだセットアップしていない場合は、アプリ内セットアップ手順に従うか、iOS ログの設定ドキュメントをご覧ください。

  1. Datadog iOS SDK for Logs の最新版をダウンロードします。

  2. SDK の初期化の際に、アプリケーションの versionenvservice を構成します。

  3. キャッチした例外を自分でログに残すには、オプションで以下を使用できます。

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