From 6260faf47bf38cee99f7862fb19e7af98a0a42e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felipe=20Mart=C3=ADn?=
Date: Wed, 29 May 2013 11:36:19 +0200
Subject: [PATCH] Improved sentry error logging. Minimun logging is now WARNING
(up from DEBUG) Using sentry_id for 500 errors. Using custom 404 template &
view: added sentry logger there.
---
config/production/local_settings.py | 22 +++++++++++++------
.../database/templates/errors/404.html | 6 +++++
.../database/templates/errors/500.html | 6 +++++
minecraftcodex/database/views.py | 7 +++++-
4 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/config/production/local_settings.py b/config/production/local_settings.py
index 67b42e0..589a941 100644
--- a/config/production/local_settings.py
+++ b/config/production/local_settings.py
@@ -32,13 +32,21 @@ MEDIA_ROOT = 'media'
MEDIA_URL = '/media/'
# Sentry
+SENTRY_CLIENT = 'raven.contrib.django.raven_compat.DjangoClient'
RAVEN_CONFIG = {
'dsn': 'http://809b0824b821462db7902f96cf5ad2c9:bf82b9625be84d9fb2f2a15af1009176@sentry.fmartingr.com/4',
}
-MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
+MIDDLEWARE_CLASSES = (
+ 'django.middleware.common.CommonMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware',
'raven.contrib.django.raven_compat.middleware.Sentry404CatchMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'herobrine.middleware.HTMLCleanerMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
INSTALLED_APPS = INSTALLED_APPS + (
@@ -51,7 +59,7 @@ LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
- 'level': 'DEBUG',
+ 'level': 'WARNING',
'handlers': ['sentry'],
},
'formatters': {
@@ -61,28 +69,28 @@ LOGGING = {
},
'handlers': {
'sentry': {
- 'level': 'DEBUG',
+ 'level': 'WARNING',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
},
'console': {
- 'level': 'DEBUG',
+ 'level': 'WARNING',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
}
},
'loggers': {
'django.db.backends': {
- 'level': 'ERROR',
+ 'level': 'WARNING',
'handlers': ['console', 'sentry'],
'propagate': False,
},
'raven': {
- 'level': 'DEBUG',
+ 'level': 'WARNING',
'handlers': ['console', 'sentry'],
'propagate': False,
},
'sentry.errors': {
- 'level': 'DEBUG',
+ 'level': 'WARNING',
'handlers': ['console', 'sentry'],
'propagate': False,
},
diff --git a/minecraftcodex/database/templates/errors/404.html b/minecraftcodex/database/templates/errors/404.html
index e4704cb..756959b 100644
--- a/minecraftcodex/database/templates/errors/404.html
+++ b/minecraftcodex/database/templates/errors/404.html
@@ -8,5 +8,11 @@
an upcoming update or a routing error.
Wathever that is, rest assured, we've been notified.
+ {% if request.sentry.id %}
+
+ If you need assistance, you may reference this error as
+ {{ request.sentry.id }}.
+
+ {% endif %}
{% endblock %}
diff --git a/minecraftcodex/database/templates/errors/500.html b/minecraftcodex/database/templates/errors/500.html
index 6d0d7c2..b13037d 100644
--- a/minecraftcodex/database/templates/errors/500.html
+++ b/minecraftcodex/database/templates/errors/500.html
@@ -9,5 +9,11 @@
problem and is on his way to solve it.
Sorry for any inconvenience, but remember, this is an alpha!
+ {% if request.sentry.id %}
+
+ If you need assistance, you may reference this error as
+ {{ request.sentry.id }}.
+
+ {% endif %}
{% endblock %}
diff --git a/minecraftcodex/database/views.py b/minecraftcodex/database/views.py
index f6f9a16..a27aeb3 100644
--- a/minecraftcodex/database/views.py
+++ b/minecraftcodex/database/views.py
@@ -97,10 +97,15 @@ def about(request):
def error404(request):
+ from raven.contrib.django.raven_compat.models import sentry_exception_handler
+ sentry_exception_handler(request=request)
context = RequestContext(request)
return render_to_response('errors/404.html', context_instance=context)
def error500(request):
- context = RequestContext(request)
+ data = {
+ 'request': request
+ }
+ context = RequestContext(request, data)
return render_to_response('errors/500.html', context_instance=context)