• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Enregistrer les erreurs

Syntaxe

Objectif-C

recordError:(NSError* _Nonnull)error attributes:(NSDictionary* _Nullable)attributes;

Swift [#swift]

NewRelic.recordError(error: $Error, map $eventAttributes);

Description [#description]

Vous pouvez utiliser l'appel d'API recordError pour l'analyse des crashs. Passez en revue l’événement capturé pour vous aider à comprendre à quelle fréquence votre application génère des erreurs et dans quelles conditions. En plus de tout attribut personnalisé que vous avez ajouté, l'événement aura également un attribut de session associé.

Cette API prend une instance d'une erreur et un dictionnaire d'attributs facultatif, puis crée un événement recordHandledException. Vous pouvez afficher les données d'événement dans l'interface utilisateur dans des endroits tels que la pageHandled exceptions et le parcoursCrash events . Vous pouvez également interroger ces données avec NRQL et les représenter graphiquement dans les dashboards New Relic.

Paramètres [#parameters]

Objectif-C

paramètres

Type

Description

$error, error

error, NSerror

Requis. L'exception à enregistrer.

attributes, $eventAttributes

NSDictionary, [AnyHashable, Any]?

Facultatif. Dictionnaire des attributs qui donnent un contexte.

Exemples [#examples]

Objective-C

Voici un exemple d'enregistrement d'une erreur simple :

@try {
@throw [NSException exceptionWithName:@"versionException"
reason:@"App version no longer supported"
userInfo:nil];
} @catch (NSException* e) {
[NewRelic recordHandledException:e];
}

Voici un autre exemple d’enregistrement d’une erreur avec un dictionnaire :

[NSJSONSerialization JSONObjectWithData:data options:opt error:error];
if (error) {
[NewRelic recordError:error
withAttributes:@{@"int" : @1, @"Test Group" : @"A | B"}];
}

Swift [#swift]

Voici un exemple d'enregistrement d'une erreur simple :

do {
try method()
} catch {
NewRelic.recordError(error)
}

Voici un autre exemple d’enregistrement d’une erreur avec un dictionnaire :

do {
try method()
} catch {
NewRelic.recordError(error, attributes: [ "int" : 1, "Test Group" : "A | B" ])
}

Syntaxe

recordError(options: { name: string; message: string; stack: string; isFatal: boolean; }) => void

Description [#description]

Enregistre les erreurs JavaScript/TypeScript pour Ionic Capacitor. Assurez-vous d'ajouter cette méthode au gestionnaire d'erreurs global de votre framework.

Paramètres [#parameters]

Objectif-C

paramètres

Type

Description

options

{ name: string; message: string; stack: string; isFatal: boolean; }

Requis. Un objet qui contient les détails de l'erreur.

Exemple [#example]

try {
throw new Error('Example error message');
} catch (e: any) {
NewRelicCapacitorPlugin.recordError({
name: e.name,
message: e.message,
stack: e.stack,
isFatal: false,
});
}

Syntaxe

recordError(err: Error) : void;

Description [#description]

Enregistre les erreurs JavaScript pour Cordova. Assurez-vous d’ajouter cette méthode au gestionnaire d’erreurs du framework que vous utilisez.

Exemples [#examples]

Angulaire

Angular 2+ expose une classe ErrorHandler pour gérer les erreurs. Vous pouvez implémenter New Relic en étendant cette classe comme suit :

import { ErrorHandler, Injectable } from '@angular/core';
import { NewRelic } from "@awesome-cordova-plugins/newrelic";
@Injectable()
export class GlobalErrorHandler extends ErrorHandler {
constructor() {
super();
}
handleError(error: any): void {
NewRelic.recordError(error);
super.handleError(error);
}
}

Ensuite, vous devrez informer Angular 2 de ce nouveau gestionnaire d'erreurs en répertoriant les remplacements pour le fournisseur dans app.module.ts :

@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,HttpClientModule],
providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },{provide: ErrorHandler, useClass: GlobalErrorHandler}],
bootstrap: [AppComponent],
})

React

React 16+ a ajouté des composants de limite d'erreur qui détectent les erreurs qui remontent à partir des composants enfants. Ils sont très utiles pour suivre les erreurs et signaler les erreurs à New Relic.

import React, { Component } from "react";
import { NewRelic } from "@awesome-cordova-plugins/newrelic";
export class ErrorBoundary extends Component {
componentDidCatch(error, errorInfo) {
if (errorInfo && errorInfo.componentStack) {
// Optional line to print out the component stack for debugging.
console.log(errorInfo.componentStack);
}
NewRelic.recordError(error);
this.setState({ error });
}
render() {
// Render error messages or other components here.
}
}

Redux

Vous pouvez créer Redux Middleware et l'appliquer à votre boutique. Cela vous permettra de signaler toute erreur à New Relic.

import { NewRelic } from "@awesome-cordova-plugins/newrelic";
const NewRelicLogger = store => next => action => {
try {
// You can log every action as a custom event
NewRelic.recordCustomEvent("eventType", "eventName", action);
return next(action)
} catch (err) {
//
NewRelic.recordBreadcrumb("NewRelicLogger error", store.getState());
// Record the JS error to New Relic
NewRelic.recordError(err);
}
}
export default NewRelicLogger;

Assurez-vous que le middleware est appliqué lors de la création de votre boutique :

import { createStore, applyMiddleware } from "redux"
import NewRelicLogger from "./middleware/NewRelicLogger"
const store = createStore(todoApp, applyMiddleware(NewRelicLogger));

Vue

Vue dispose d'un gestionnaire d'erreurs global qui signale les erreurs JavaScript natives et les transmet à l'instance Vue. Ce gestionnaire sera utile pour signaler les erreurs à New Relic.

import { NewRelic } from "@awesome-cordova-plugins/newrelic";
Vue.config.errorHandler = (err, vm, info) => {
// Record properties passed to the component if there are any
if(vm.$options.propsData) {
NewRelic.recordBreadcrumb("Props passed to component", vm.$options.propsData);
}
// Get the lifecycle hook, if present
let lifecycleHookInfo = 'none';
if (info){
lifecycleHookInfo = info;
}
// Record a breadcrumb with more details such as component name and lifecycle hook
NewRelic.recordBreadcrumb("Vue Error", { 'componentName': vm.$options.name, 'lifecycleHook': lifecycleHookInfo })
// Record the JS error to New Relic
NewRelic.recordError(error);
}

Syntaxe

recordError(error, StackTrace.current, attributes: attributes);

Description [#description]

Vous pouvez enregistrer des exceptions non fatales en utilisant la méthode recordError avec l'attribut personnalisé.

Exemple [#example]

try {
some_code_that_throws_error();
} catch (ex) {
NewrelicMobile.instance
.recordError(error, StackTrace.current, attributes: attributes);
}

Syntaxe

recordError(e: string|error): void;

Description [#description]

Enregistre les erreurs JavaScript pour React Native.

Exemple [#example]

try {
var foo = {};
foo.bar();
} catch(e) {
NewRelic.recordError(e);
}

Syntaxe

recordError(FString errorMessage,TMap <FString, FString> errorAttributes);

Description [#description]

Enregistre les erreurs pour Unreal avec les paramètres de carte.

paramètres

Type

Description

errorMessage

FString

Requis. L'exception à enregistrer.

$errorAttributes

Map of String, String

Facultatif. Une carte d’attribut à associer à l’exception.

Exemple [#example]

#include "NewRelicBPLibrary.h"
TMap<FString, FString> errorsMap;
errorsMap.Add("place", TEXT("Robots"));
errorsMap.Add("user", TEXT("Nisarg"));
UNewRelicBPLibrary::recordError(TEXT("Error Message"), errorsMap);
Screenshot of the Unreal Engine Plugin Record Error
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.