GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python
Improve developer experience for uncaught exceptions on GCP
- Ngôn ngữ chính
- Python
- Star
- 968
- Fork
- 128
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
When a function executes and exits with an uncaught exceptions, the exception is logged as a regular plaintext Python traceback to stderr. The content is then captured into Cloud Logging as plaintext too, which makes it difficult to parse and analyze.
Consider the following dummy function:
```python
import functions_framework
@functions_framework.http
def test_crash(request):
raise ValueError("something doesn't work")
```
When calling this function, it (of course) crashes, and renders as follow:

This has several disadvantages:
* The error is spread over multiple line: it's not possible to point to a single log entry which contains the traceback, you always need to see here ~20 lines to get the full picture.
* The traceback only makes sense if Cloud Logging is sorted _from oldest to newest_ (I typically shows newest entries first, and the traceback is reversed :facepalm: )
* The error doesn't really show up in Error Reporting: only some of the exception, part of Flask, is caught into Error Reporting and it's really not useful:

Ideally, out of the box when running on GCP:
* The framework should log the error into a single `CRITICAL` log entry
* The error should be formatted to be reported automatically with the right content into Error Reporting
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.