• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページ を参照してください。

問題を作成する

記録エラー

構文

目的-c

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

迅速 [#swift]

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

説明 [#description]

クラッシュ分析にはrecordError API呼び出しを使用できます。キャプチャされたイベントを確認して、アプリがエラーをスローする頻度と条件を理解するのに役立ててください。追加したカスタム属性に加えて、イベントにはセッション属性も関連付けられます。

この API は、エラーのインスタンスとオプションの属性辞書を受け取り、 recordHandledExceptionイベントを作成します。 イベント データは、 Handled exceptionsページCrash eventsトレイルなどの UI で表示できます。 このデータを NRQL でクエリし、New Relic ダッシュボードでグラフ化することもできます。

パラメーター [#parameters]

目的-c

パラメータ

タイプ

説明

$error, error

error, NSerror

必要。記録される例外。

attributes, $eventAttributes

NSDictionary, [AnyHashable, Any]?

任意です。コンテキストを与える属性の辞書。

[#examples]

Objective-C

単純なエラーを記録する例を次に示します。

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

次に、辞書を使用してエラーを記録する別の例を示します。

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

迅速 [#swift]

単純なエラーを記録する例を次に示します。

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

次に、辞書を使用してエラーを記録する別の例を示します。

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

構文

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

説明 [#description]

Ionic Capacitor の JavaScript/TypeScript エラーを記録します。このメソッドをフレームワークのグローバル エラー ハンドラーに必ず追加してください。

パラメーター [#parameters]

目的-c

パラメータ

タイプ

説明

options

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

必要。エラーの詳細を含むオブジェクト。

[#example]

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

構文

recordError(err: Error) : void;

説明 [#description]

Cordova の JavaScript エラーを記録します。使用しているフレームワークのエラー ハンドラーに必ずこのメソッドを追加してください。

[#examples]

角度のある

Angular 2 以降では、エラーを処理するための ErrorHandler クラスが公開されています。次のようにこのクラスを拡張することで、New Relic を実装できます。

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);
}
}

次に、app.module.ts にプロバイダーのオーバーライドをリストすることで、Angular 2 にこの新しいエラー ハンドラーを知らせる必要があります。

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

対応

React 16 以降には、子コンポーネントからバブルアップしたエラーをキャッチするエラー境界コンポーネントが追加されました。これらは、エラーを追跡したり、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 ミドルウェアを 作成してストアに適用できます。これにより、エラーを 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;

ストアの作成時にミドルウェアが適用されていることを確認してください。

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

ヴュー

Vue には、ネイティブ JavaScript エラーを報告し、Vue インスタンスに渡すグローバル エラー ハンドラーがあります。このハンドラーは、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);
}

構文

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

説明 [#description]

カスタム属性を指定した recordError メソッドを使用して、致命的でない例外を登録できます。

[#example]

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

構文

recordError(e: string|error): void;

説明 [#description]

React Native の JavaScript エラーを記録します。

[#example]

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

構文

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

説明 [#description]

マップを使用して Unreal のエラーを記録します。

パラメータ

タイプ

説明

errorMessage

FString

必要。記録される例外。

$errorAttributes

Map of String, String

オプション。例外に関連付けられる属性のマップ。

[#example]

#include "NewRelicBPLibrary.h"
TMap<FString, FString> errorsMap;
errorsMap.Add("place", TEXT("Robots"));
errorsMap.Add("user", TEXT("Nisarg"));
UNewRelicBPLibrary::recordError(TEXT("Error Message"), errorsMap);
Copyright © 2024 New Relic株式会社。

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