加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在AWS Lambda上使用Python从Zappa获取堆栈跟踪

发布时间:2020-12-20 13:13:23 所属栏目:Python 来源:网络整理
导读:我在AWS Lambda上使用Zappa框架 https://github.com/Miserlou/Zappa和Python和Flask.当它引发异常时,它会出现在CloudWatch日志中,但对我来说难以辨认.但是,我确实从调试版本中的HTTP GET返回了正常的Flask堆栈跟踪. 我的问题是如何在日志/生产代码中获得合理
我在AWS Lambda上使用Zappa框架 https://github.com/Miserlou/Zappa和Python和Flask.当它引发异常时,它会出现在CloudWatch日志中,但对我来说难以辨认.但是,我确实从调试版本中的HTTP GET返回了正常的Flask堆栈跟踪.

我的问题是如何在日志/生产代码中获得合理的(Flask)堆栈跟踪?当生产中出现异常时,我所有的都是日志消息.

来自HTTP GET的良好堆栈跟踪:

Traceback (most recent call last):
  File "/var/task/handler.py",line 96,in handler
    response = Response.from_app(app,environ)
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/Werkzeug/werkzeug/wrappers.py",line 865,in from_app
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/Werkzeug/werkzeug/wrappers.py",line 57,in _run_wsgi_app
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/Werkzeug/werkzeug/test.py",line 871,in run_wsgi_app
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/zappa/zappa/middleware.py",line 78,in __call__
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/flask/flask/app.py",line 1836,line 1820,in wsgi_app
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 271,in error_router
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/flask/flask/app.py",line 1403,in handle_exception
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 268,line 1817,in wsgi_app
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/flask/flask/app.py",line 1477,in full_dispatch_request
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 1381,in handle_user_exception
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 1475,in full_dispatch_request
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/flask/flask/app.py",line 1461,in dispatch_request
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 477,in wrapper
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-v6XvIH/flask/flask/views.py",line 84,in view
  File "/private/var/folders/1j/5zcxjzkx29b8tfgrh2y90wt80000gn/T/pip-build-jvEYWI/flask-restful/flask_restful/__init__.py",line 587,in dispatch_request
  File "/Users/notacat/src/aws-lambda/zappa/controllers/error_controller.py",line 15,in get
TestError: 'This is a test error'

难以理解CloudWatch日志中的堆栈跟踪:

...Rlc3RFcnJvcjogJ1RoaXMgaXMgYSB0ZXN0IGVycm9yJzxiciAvPjwvcHJlPg==: 
Exception Traceback (most recent call last): 
File "/var/task/handler.py",line 161,in lambda_handler return LambdaHandler.lambda_handler(event,context) 
File "/var/task/handler.py",line 55,in lambda_handler return cls().handler(event,line 155,in handler raise Exception(exception) 
Exception: PCFET0NUWVBFIGh0bWw+NTAwLiBGcm9tIFphcHBhOiA8cHJlPidUaGlzIGl...

解决方法

这看起来像一个老问题,但我正在使用Zappa 0.45.1,当通过CloudWatch AWS终端和使用提供CloudWatch日志和一些附加信息的zappa tail发生错误时,我可以看到我的python堆栈跟踪.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读