3

Google App Engine 표준 환경을 사용하여 python-flask-application을 호스팅하고 있으며 StackDriver 오류보고에 오류가 표시되도록하는 데 문제가 있습니다. . 기본적으로 Google App Engine은 StackDriver 오류보고에 오류를 기록해야하지만 그렇게하지는 않습니다.Google App Engine StackDriver에 오류가 표시되지 않음 Flask를 사용하여 오류보고

StackDriver 오류보고에 나타나기 전에 오류가 있었지만 재현 할 수 없습니다. 오류는 Application-Errors가 아니라 Server-Errors 섹션으로 곧바로 간다. 하지만 그것은 둘 다 StackDriver 오류보고에 기록됩니다 논리적 인 것 같습니다.

/error/500 경로를 사용하여 디버깅을 수행했습니다.

  • 오류가 구글 앱 엔진 개요에 표시 : Errors visible in logs
  • 그러나 아무것도 명칭 : StackDriver 오류보고에 표시되지 : All Google App Engine Errors
  • 모두 로그에 볼 수 있습니다 을 결과는 다음이었다 No errors in StackDriver Error Reporting

왜 이런 경우입니까?

업데이트 : 나는 flask.logger을 사용하는 것이 문제인 것으로 나타났습니다. logging을 사용하면 정상적으로 작동하고 StackDriver 오류보고로 끝납니다 (일부 형식 문제는 제외). 두 가지 모두 로거에서 끝납니다. addHandler을 사용하여 flask.logger에 등록하려면 logging.StreamHandler을 사용하고 있습니다. 가장 좋은 추측은 logging.StreamHandler의 형식이 잘못된 것입니다. 더 조사. 내가 GAE에 대한 로깅 핸들러가 있다는 것을 발견 구글 앱 엔진 SDK를 사용하여 뒷조사 및 디버깅 후

+0

https://stackoverflow.com/questions/43255910/google-app-engine-api-throws-503-but-error-not- 나와있는 admin-console – Arun

+0

@Arun 같은 문제는 아닌 것 같습니다. 내 오류가 올바르게 기록되지만 StackDriver 오류보고로 끝나지 않습니다. –

+0

나는 똑같은 문제에 직면 해있다. 어쩌면 애플 리케이션 엔진 인스턴스를 확장하는 동안? – Arun

답변

2

:

google.appengine.api.app_logging.AppLogsHandler 

구글 앱 엔진은 flask.logger-logging 한, 그러나 등록합니다. 예를 들어 app.logger.error(my_error)을 사용하면 StackDriver 오류보고에 등록되지 않습니다.

는 지금이 문제를 해결 한 수동 등록 :

from google.appengine.api.app_logging import AppLogsHandler 
app.logger.addHandler(AppLogsHandler()) 

app.logger.error(my_error)