summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrzemek Kaminski <cgenie@gmail.com>2015-12-04 21:40:51 +0100
committerPrzemek Kaminski <cgenie@gmail.com>2015-12-04 21:44:47 +0100
commit546aa3afc76919360b161f2650c0e015f59d1e7d (patch)
tree44a774e431d94725e66cd7433abcd6ac2d525278
parent2fc64e8056f8117c93633b26dfa76945523040e6 (diff)
downloadraven-546aa3afc76919360b161f2650c0e015f59d1e7d.tar.gz
Django handler: add support for tags in logging setup
-rw-r--r--docs/integrations/django.rst1
-rw-r--r--raven/contrib/django/handlers.py5
2 files changed, 5 insertions, 1 deletions
diff --git a/docs/integrations/django.rst b/docs/integrations/django.rst
index 995eb92..3f39c39 100644
--- a/docs/integrations/django.rst
+++ b/docs/integrations/django.rst
@@ -98,6 +98,7 @@ following config can be used::
'sentry': {
'level': 'ERROR',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler'
+ 'tags': {'custom-tag': 'x'},
},
'console': {
'level': 'DEBUG',
diff --git a/raven/contrib/django/handlers.py b/raven/contrib/django/handlers.py
index 504fbc1..4db1381 100644
--- a/raven/contrib/django/handlers.py
+++ b/raven/contrib/django/handlers.py
@@ -13,8 +13,9 @@ from raven.handlers.logging import SentryHandler as BaseSentryHandler
class SentryHandler(BaseSentryHandler):
- def __init__(self, level=logging.NOTSET):
+ def __init__(self, level=logging.NOTSET, tags=None):
logging.Handler.__init__(self, level=level)
+ self.tags = tags
def _get_client(self):
from raven.contrib.django.models import client
@@ -25,5 +26,7 @@ class SentryHandler(BaseSentryHandler):
def _emit(self, record):
request = getattr(record, 'request', None)
+ if self.tags is not None and not hasattr(record, 'tags'):
+ record.tags = self.tags
return super(SentryHandler, self)._emit(record, request=request)