• /
  • EnglishEspañolFrançais日本語한국어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 사용하여 이 데이터를 쿼리하고 뉴렐릭 대시보드에서 차트로 표시할 수도 있습니다.

매개변수 [#parameters]

목표-c

매개변수

유형

설명

$error, error

error, NSerror

필수의. 기록할 예외입니다.

attributes, $eventAttributes

NSDictionary, [AnyHashable, Any]?

선택 과목. 컨텍스트를 제공하는 속성 사전.

[#examples]

오브젝티브-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, isFatal?: boolean, attributes?: object): void;

요구 사항 [#react-requirements]

  • 설치 및 구성된 뉴렐릭 리액트 네이티브 에이전트.
  • JavaScript 오류를 캡처할 수 있도록 애플리케이션 시작 시 NewRelic.setJSAppVersion()을(를) 호출하십시오.
  • 오류를 MobileJSError 이벤트로 기록하는 기능, isFatal 인수 및 attributes 인수를 사용하려면 리액트 네이티브 에이전트 버전 1.9.0 이상이 필요합니다. 이전 버전은 이러한 오류를 MobileHandledException 이벤트로 기록합니다.

설명 [#react-description]

이 호출을 사용하여 앱에서 처리된 JavaScript 오류 또는 기타 다양한 JavaScript 오류를 기록하십시오. 오류를 포착하여 처리했지만 앱의 작동을 방해하지 않고 오류를 식별하려는 경우에 유용합니다.

이러한 오류는 MobileJSError 이벤트로 기록됩니다. 추가하는 커스텀 속성 외에도 이벤트에는 관련 세션 속성도 포함됩니다. UI에서 이 데이터를 확인하고, NRQL로 쿼리하고, 뉴렐릭 대시보드에 차트로 표시할 수 있습니다.

매개변수 [#react-parameters]

매개변수

유형

설명

e

string, Error

필수의. 기록할 오류입니다.

isFatal

boolean

선택 사항입니다. 오류가 치명적인지 여부입니다. 기본값은 false입니다.

attributes

object

선택 사항입니다. 오류에 추가 컨텍스트를 제공하는 커스텀 속성의 이름/값 쌍 객체입니다. 기본값은 {}입니다.

[#react-examples]

처리된 오류 기록

다음은 앱을 중단하지 않고 포착된 오류를 기록하는 예입니다:

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

프로미스 거부에서 오류를 기록합니다.

프로미스를 사용하면 비동기 오류를 간과하기 쉽습니다. 이 예제에서는 누락되지 않도록 거부된 프로미스를 뉴렐릭에 보고합니다:

fetch('https://api.example.com/data')
.then(response => response.json())
.catch(error => {
// Report the unhandled rejection to New Relic
NewRelic.recordError(error);
});

치명적인 오류 기록

오류를 치명적으로 표시하려면 두 번째 인수로 true을(를) 전달하십시오:

try {
criticalOperation();
} catch (e) {
NewRelic.recordError(e, true);
}

커스텀 속성으로 오류 기록

오류에 컨텍스트를 추가하려면 세 번째 인수로 속성 객체를 전달하십시오:

try {
var foo = {};
foo.bar();
} catch (e) {
NewRelic.recordError(e, false, { screen: 'Checkout', 'Test Group': 'A | B' });
}

통사론

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

설명 [#description]

Map 시위를 통해 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);
Screenshot of the Unreal Engine Plugin Record Error
Copyright © 2026 New Relic Inc.

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