• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

notice_error(파이썬 에이전트 API)

통사론

newrelic.agent.notice_error(error=None, attributes={}, expected=None, ignore=None, status_code=None, application=None)

Python 예외의 세부 정보를 오류로 기록합니다.

설명

기본적으로 Python 에이전트는 처리되지 않은 예외만 보고합니다. notice_error 을 사용하여 Python 예외를 오류로 기록하면 UI에서 찾을 수 있습니다. 매개변수가 제공되지 않으면 현재 처리된 예외의 세부사항이 사용됩니다.

트랜잭션당 최대 5개의 고유한 예외를 기록할 수 있으며 수확 주기 당 모든 트랜잭션 에서 최대 20개의 총 예외를 기록할 수 있습니다.

모니터링되는 웹 요청 또는 백그라운드 작업의 컨텍스트 내에서 notice_error() 이 호출되면 요청 또는 작업이 보고되는 애플리케이션에 대해 예외 세부정보가 보고됩니다.

모니터링되는 웹 요청 또는 백그라운드 작업의 컨텍스트 외부에서 호출되는 경우 application 키워드 인수가 제공되고 예외가 기록되어야 하는 애플리케이션에 해당하는 애플리케이션 객체가 제공되지 않는 한 호출은 무시됩니다. newrelic.agent.application() 함수를 사용하여 적절한 애플리케이션 객체를 얻을 수 있습니다.

매개변수

거의 모든 경우에 notice_error 에는 매개변수가 필요하지 않습니다.

매개변수

설명

error

튜플에서 BaseException이 발생했습니다.

선택 사항이며 거의 사용되지 않습니다. sys.exc_info() 에서 반환된 예외 정보 (exception_class, exception_instance, traceback) 을 포함하는 튜플이거나 try / except 블록에서 포착된 BaseException 인스턴스입니다.

참고: 예외 튜플의 세 번째 요소 또는 BaseException 인스턴스의 __traceback__ 속성으로 항상 트레이스백이 필요합니다. sys.exc_info() 블록의 튜플과 try / except 블록의 BaseException 인스턴스에는 이미 트레이스백이 있습니다.

attributes

딕셔너리

선택 과목. 오류 이벤트에 추가할 사용자 정의 속성(트랜잭션에 이미 추가된 사용자 정의 속성에 추가) 높은 수준의 보안 모드가 활성화되어 있으면 작동하지 않습니다.

expected

boolean, iterable[String], callable(exception_class, exception_instance, traceback)->boolean

선택 과목. 예상대로 표시하는 오류는 module:class 형식의 반복 가능한 문자열로 전달할 수 있습니다. 이 값은 호출 가능하거나 오류가 예상되는지 여부를 나타내는 부울일 수도 있습니다. 이러한 오류는 UI에 보고되지만 Apdex 점수나 오류율에는 영향을 미치지 않습니다.

ignore

boolean, iterable[String], callable(exception_class, exception_instance, traceback)->boolean

선택 과목. 무시할 오류는 module:class 형식의 반복 가능한 문자열로 전달할 수 있습니다. 이 값은 호출 가능하거나 오류를 무시해야 하는지 여부를 나타내는 부울일 수도 있습니다. 특정 유형의 예외가 항상 무시되고 기록되지 않아야 하는 경우에 유용합니다.

status_code

string, integer, callable(exception_class, exception_instance, 역추적)

선택 과목. 예외 상태 코드입니다. 이 값은 문자열, 정수 또는 sys.exc_info() 에서 반환된 예외 정보 (exception_class, exception_instance, traceback) 를 받아들이고 상태 코드를 정수로 반환하는 콜러블일 수 있습니다.

application

응용 프로그램 개체

선택 과목. 모니터링되는 웹 요청 또는 백그라운드 작업의 컨텍스트 외부에서 호출되는 경우 application 객체 가 제공되지 않으면 호출이 무시됩니다.

반환 값

없음.

보고 예외의 간단한 예

대부분의 경우 매개변수를 전달할 필요가 없습니다. 예외를 보고하려는 위치에서 다음을 호출하면 됩니다.

newrelic.agent.notice_error()

부울을 사용한 예

부울 값을 사용하는 notice_error 의 예. 이는 오류가 예상되어야 함을 나타냅니다.

newrelic.agent.notice_error(expected=True)

여러 예외가 활성화된 경우 특정 오류와 함께 호출합니다.

try:
raise ValueError
except ValueError as first_exc:
first_exc_tuple = sys.exc_info()
try:
raise RuntimeError
except RuntimeError as second_exc:
# To report an exception other than the most recently raised one
newrelic.agent.notice_error(error=first_exc)
# Or alternatively:
# newrelic.agent.notice_error(error=first_exc_tuple)

여러 예외를 동시에 처리할 때, 어떤 예외를 보고할지 지정하는 것이 유용할 수 있습니다. 이는 포착된 BaseException 인스턴스를 전달하거나, 해당 예외가 활성 예외였을 때 sys.exc_info()를 호출하여 반환된 튜플을 전달함으로써 수행할 수 있습니다.

sys.exc_info() 튜플 및 추가 매개변수를 사용한 호출

sys.exc_info() 데이터를 사용하는 notice_error 의 예:

def complex_ignore_errors(exc, val, tb):
# do some logic here
return False
newrelic.agent.notice_error(attributes={'my_special_exception': True}, ignore=complex_ignore_errors)

콜백 사용 예

특정 예외 유형의 속성을 기반으로 예외를 동적으로 필터링해야 하는 경우 콜백 함수를 제공할 수 있습니다.

def _ignore_errors(exc, value, tb):
if instance(value, HTTPError):
if value.status == 404:
return True
newrelic.agent.notice_error(ignore=_ignore_errors)

예외가 무시되거나 예상되는 경우 콜러블의 반환 값을 True로 설정합니다. 다른 검사와 관계없이 예외를 절대 무시/예상해서는 안 되는 경우 False 반환하고 후속 검사 및 기본 규칙이 예외를 무시/예상해야 하는지 여부를 결정해야 하는 경우 None 반환합니다. 콜백은 일반적으로 True 또는 None반환합니다.

Copyright © 2026 New Relic Inc.

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