• 로그인

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

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

문제 신고

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

튜플

선택 사항이며 거의 사용되지 않습니다. sys.exc_info() 에서 반환된 예외 정보(exception_class, exception_instance, traceback)를 포함하는 튜플입니다.

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

문자열, 정수, 호출 가능(예외_클래스, 예외_인스턴스, 역추적)

선택 과목. 예외 상태 코드입니다. 이 값은 문자열, 정수 또는 sys.exc_info() 에서 반환된 예외 정보(exception_class, exception_instance, traceback)를 가져와서 상태 코드를 정수로 반환하는 호출 가능 항목일 수 있습니다.

application

응용 프로그램 개체

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

반환 값

없음.

보고 예외의 간단한 예

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

newrelic.agent.notice_error()

부울을 사용한 예

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

newrelic.agent.notice_error(expected=True)

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 © 2022 New Relic Inc.

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