프로덕션 환경에서 Google Appengine을 사용하고 있으며 현재 Google 웹 사이트와 콘솔에서 모두 500 개의 오류가 발생하고 있습니다. 우리가 이것들을 막거나 더 우아하게 다루기 위해 할 수있는 일이 있습니까?appengine 및 console에서 500 개의 오류가 발생했습니다.
편집 : 우리는 웹 애플리케이션
프로덕션 환경에서 Google Appengine을 사용하고 있으며 현재 Google 웹 사이트와 콘솔에서 모두 500 개의 오류가 발생하고 있습니다. 우리가 이것들을 막거나 더 우아하게 다루기 위해 할 수있는 일이 있습니까?appengine 및 console에서 500 개의 오류가 발생했습니다.
편집 : 우리는 웹 애플리케이션
설치 오류 처리기로 파이썬을 사용하고 있습니다 :
오류가 응용 프로그램에서 발생 http://code.google.com/appengine/docs/python/config/appconfig.html#Custom_Error_Responses는 오류 처리기가 도움이되지 수 있습니다. ,
import logging
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
def error_handler_middleware(app):
"""Wraps the application to catch uncaught exceptions."""
def wsgi_app(environ, start_response):
try:
return app(environ, start_response)
except Exception, e:
logging.exception(e)
# ... display a custom error message ...
response = webapp.Response()
response.set_status(500)
response.out.write('Ooops! An error occurred...')
response.wsgi_write(start_response)
return ['']
return wsgi_app
app = webapp.WSGIApplication([...])
app = error_handler_middleware(app)
def main():
util.run_wsgi_app(app)
if __name__ == '__main__':
main()
당신이 할 수있는 경우 webapp2 시도해 : 하나의 해결책은 캐치되지 않는 예외를 처리하는 응용 프로그램을 래핑하는 것입니다. 간단한 기능을 handle app-wide exceptions으로 설정할 수 있습니다.
+1 답장을 보내 주셔서 감사합니다. 콘솔 용으로도 작동합니까? –
아니요. 콘솔 오류가 우리 제어에서 벗어났습니다. 두려웠습니다. – moraes
이 미들웨어는 webapp에서 작동하지 않습니다. - webapp는 이미 handle_exception을 호출하고 500을 반환하는 catchall 핸들러를 가지고 있습니다. 기본 핸들러 클래스에서'handle_exception'을 오버 라이딩하거나 더 나은 선택입니다. –
어떤 언어를 사용하고 있습니까? 파이썬과 webapp? – moraes