Suivi des erreurs recueillies sur navigateur et mobile

Présentation

La solution Error Tracking traite les erreurs recueillies par les SDK Browser et Mobile de Datadog. Dès lors qu’une erreur contenant une stack trace est recueillie, celle-ci est traitée et classée dans une catégorie de problème afin de la rassembler avec des erreurs similaires.

L’attribut error.stack qui contient la stack trace de l’erreur est essentiel pour les erreurs recueillies dans les logs. Si vous envoyez des stack traces à Datadog mais qu’elles ne figurent pas dans error.stack, vous pouvez configurer un remappeur de logs générique pour remapper la stack trace vers l’attribut adéquat dans Datadog.

Vos rapports de crash sont disponibles dans l’interface Error Tracking.

Configuration

Si vous n’avez pas encore configuré le SDK Browser Datadog, suivez les instructions de configuration intégrées à l’application ou consultez la documentation sur la configuration des logs Browser.

  1. Téléchargez la dernière version du SDK de collecte des logs Browser.

  2. Configurez les tags version, env et service de votre application lors de l’initialisation du SDK.

  3. Initialisez votre SDK, par exemple avec 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,
    })
    
  4. Vous devez ajouter le bloc suivant près du code d’initialisation pour récupérer l’ensemble des exceptions non interceptées et les transmettre à Datadog :

    window.onerror = function (message, source, lineno, colno, error) {
        datadogLogs.logger.error(error?.message || '', {
            error: { stack: error?.stack },
        });
    };
    
  5. Pour loguer manuellement une exception interceptée, vous pouvez utiliser le code suivant :

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

Si vous n’avez pas encore configuré le SDK Android Datadog, suivez les instructions de configuration intégrées à l’application ou consultez la documentation sur la configuration des logs Android.

  1. Téléchargez la dernière version du SDK de collecte des logs Android.

  2. Configurez les tags version, env et service de votre application lors de l’initialisation du SDK.

  3. Pour loguer manuellement une exception interceptée, vous pouvez utiliser le code suivant :

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

Si vous n’avez pas encore configuré le SDK iOS Datadog, suivez les instructions de configuration intégrées à l’application ou consultez la documentation sur la configuration des logs iOS.

  1. Téléchargez la dernière version du SDK de collecte des logs iOS.

  2. Configurez les tags version, env et service de votre application lors de l’initialisation du SDK.

  3. Pour loguer manuellement une exception interceptée, vous pouvez utiliser le code suivant :

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

Pour aller plus loin