Projet

Général

Profil

0001-misc-send-exception-to-sentry-on-views-43116.patch

Lauréline Guérin, 10 juillet 2020 16:24

Télécharger (2,19 ko)

Voir les différences:

Subject: [PATCH] misc: send exception to sentry on views (#43116)

 wcs/compat.py           | 12 +++++++++++-
 wcs/qommon/publisher.py |  5 -----
 2 files changed, 11 insertions(+), 6 deletions(-)
wcs/compat.py
19 19
from threading import Lock
20 20
from contextlib import contextmanager
21 21

  
22
from django.utils import six
23 22
from django.utils.deprecation import MiddlewareMixin
24 23

  
25 24
from quixote import get_publisher, get_request
26 25
from quixote.errors import PublishError
27 26
from quixote.http_request import Upload
28 27

  
28
try:
29
    import sentry_sdk
30
except ImportError:
31
    sentry_sdk = None
32

  
29 33
from django.http import HttpResponse
30 34
from django.conf import settings
31 35
from django.template import loader, TemplateDoesNotExist
......
38 42
from .qommon.http_request import HTTPRequest
39 43

  
40 44

  
45
def can_sentry():
46
    return (sentry_sdk is not None) and (sentry_sdk.Hub.current.client is not None)
47

  
48

  
41 49
class TemplateWithFallbackView(TemplateView):
42 50
    quixote_response = None
43 51

  
......
54 62
            context = {'body': get_publisher().finish_interrupted_request(exc)}
55 63
            self.quixote_response = get_request().response
56 64
        except Exception as exc:
65
            if can_sentry():
66
                sentry_sdk.capture_exception(exc)
57 67
            context = {'body': get_publisher().finish_failed_request()}
58 68
            self.quixote_response = get_request().response
59 69

  
wcs/qommon/publisher.py
312 312
            # were configured to be mailed.
313 313
            pass
314 314

  
315
        try:
316
            self.get_app_logger().error('internal server error')
317
        except:
318
            pass
319

  
320 315
        if exc_type is SystemExit:
321 316
            raise exc_type
322 317

  
323
-