@functions_framework.httpdefhello_error_1(request):# This WILL be reported to Error Reporting,# and WILL NOT show up in logs or# terminate the function.fromgoogle.cloudimporterror_reportingclient=error_reporting.Client()try:raiseRuntimeError("I failed you")exceptRuntimeError:client.report_exception()# This WILL be reported to Error Reporting,# and WILL terminate the functionraiseRuntimeError("I failed you")@functions_framework.httpdefhello_error_2(request):# These errors WILL NOT be reported to Error# Reporting, but will show up in logs.importloggingimportsysprint(RuntimeError("I failed you (print to stdout)"))logging.warning(RuntimeError("I failed you (logging.warning)"))logging.error(RuntimeError("I failed you (logging.error)"))sys.stderr.write("I failed you (sys.stderr.write)\n")# This is considered a successful execution and WILL NOT be reported# to Error Reporting, but the status code (500) WILL be logged.fromflaskimportabortreturnabort(500)
Google Cloud 콘솔의 Error Reporting에서 보고된 오류를 확인할 수 있습니다. 또한 Google Cloud 콘솔의 함수 목록에서 특정 함수를 선택하면 해당 함수에서 보고된 오류를 확인할 수 있습니다.
함수로 생성되었지만 발견되지 않은 예외는 Error Reporting에 표시됩니다.
일부 유형의 포착되지 않은 예외(예: 비동기식으로 발생)는 향후 함수 호출 시 콜드 스타트를 유발할 수 있습니다. 이로 인해 함수를 실행하는 데 걸리는 시간이 늘어납니다.
오류 수동 보고
Cloud Logging으로 전송 중
Cloud Functions 로거 SDK의 error 함수는 Cloud Logging 및 Error Reporting 모두에 오류를 보고합니다. 오류에서 더 많은 컨텍스트를 구조화된 데이터로 포함하려면 오류 객체를 두 번째 인수로 전달합니다.
} catch (err) {
// Attach an error object as the second argument
functions.logger.error(
"Unable to read quote from Firestore, sending default instead",
err
);
}
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-01-29(UTC)"],[],[]]