• 로그인지금 시작하세요

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

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

문제 신고

record_exception(파이썬 에이전트 API)

통사론

newrelic.agent.record_exception(exc=None, value=None, tb=None, params={}, ignore_errors=[], application=None)

이 API는 더 이상 사용되지 않습니다. notice_error() 을(를) 사용하세요.

설명

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

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

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

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

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

매개변수

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

매개변수

설명

exc

클래스 객체

선택 사항이며 거의 사용되지 않습니다. 처리 중인 예외의 예외 유형(클래스 개체)입니다. sys.exc_info() 에서 반환된 세 가지 값( exc , valuetb ) 중 하나입니다. 이러한 매개변수 중 하나를 전달하려면 세 가지를 모두 설정해야 하며 None 로 설정할 수 없습니다. 이 값 중 하나만 전달하면 호출이 작동하지 않습니다.

value

정수, 문자열, 기타

선택 사항이며 거의 사용되지 않습니다. 예외 매개변수. sys.exc_info() 에서 반환된 세 가지 값( exc , valuetb ) 중 하나입니다. 이러한 매개변수 중 하나를 전달하려면 세 가지를 모두 설정해야 하며 None 로 설정할 수 없습니다. 이 값 중 하나만 전달하면 호출이 작동하지 않습니다.

tb

물체

선택 사항이며 거의 사용되지 않습니다. 예외가 원래 발생한 지점에서 호출 스택을 캡슐화하는 역추적 개체입니다. sys.exc_info() 에서 반환된 세 가지 값( exc , valuetb ) 중 하나입니다. 이러한 매개변수 중 하나를 전달하려면 세 가지를 모두 설정해야 하며 None 로 설정할 수 없습니다. 이 값 중 하나만 전달하면 호출이 작동하지 않습니다.

params

딕셔너리

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

ignore_errors

선택 과목. 무시할 오류는 module:class 형식으로 전달할 수 있습니다. 특정 유형의 예외가 항상 무시되고 기록되지 않아야 하는 경우에 유용합니다.

application

응용 프로그램 개체

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

반환 값

없음.

보고 예외의 간단한 예

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

newrelic.agent.record_exception()

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

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

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

콜백 사용 예

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

def _ignore_errors(exc, value, tb):
if instance(value, HTTPError):
if value.status == 404:
return True
newrelic.agent.record_exception(ignore_errors=_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.