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.
This commit is contained in:
Felipe Martín 2013-05-29 11:36:19 +02:00
parent 6b78bf286a
commit 6260faf47b
4 changed files with 33 additions and 8 deletions

View File

@ -32,13 +32,21 @@ MEDIA_ROOT = 'media'
MEDIA_URL = '/media/' MEDIA_URL = '/media/'
# Sentry # Sentry
SENTRY_CLIENT = 'raven.contrib.django.raven_compat.DjangoClient'
RAVEN_CONFIG = { RAVEN_CONFIG = {
'dsn': 'http://809b0824b821462db7902f96cf5ad2c9:bf82b9625be84d9fb2f2a15af1009176@sentry.fmartingr.com/4', '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.SentryResponseErrorIdMiddleware',
'raven.contrib.django.raven_compat.middleware.Sentry404CatchMiddleware', '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 + ( INSTALLED_APPS = INSTALLED_APPS + (
@ -51,7 +59,7 @@ LOGGING = {
'version': 1, 'version': 1,
'disable_existing_loggers': True, 'disable_existing_loggers': True,
'root': { 'root': {
'level': 'DEBUG', 'level': 'WARNING',
'handlers': ['sentry'], 'handlers': ['sentry'],
}, },
'formatters': { 'formatters': {
@ -61,28 +69,28 @@ LOGGING = {
}, },
'handlers': { 'handlers': {
'sentry': { 'sentry': {
'level': 'DEBUG', 'level': 'WARNING',
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
}, },
'console': { 'console': {
'level': 'DEBUG', 'level': 'WARNING',
'class': 'logging.StreamHandler', 'class': 'logging.StreamHandler',
'formatter': 'verbose' 'formatter': 'verbose'
} }
}, },
'loggers': { 'loggers': {
'django.db.backends': { 'django.db.backends': {
'level': 'ERROR', 'level': 'WARNING',
'handlers': ['console', 'sentry'], 'handlers': ['console', 'sentry'],
'propagate': False, 'propagate': False,
}, },
'raven': { 'raven': {
'level': 'DEBUG', 'level': 'WARNING',
'handlers': ['console', 'sentry'], 'handlers': ['console', 'sentry'],
'propagate': False, 'propagate': False,
}, },
'sentry.errors': { 'sentry.errors': {
'level': 'DEBUG', 'level': 'WARNING',
'handlers': ['console', 'sentry'], 'handlers': ['console', 'sentry'],
'propagate': False, 'propagate': False,
}, },

View File

@ -8,5 +8,11 @@
an upcoming update or a routing error.<br /> an upcoming update or a routing error.<br />
Wathever that is, rest assured, we've been notified. Wathever that is, rest assured, we've been notified.
</p> </p>
{% if request.sentry.id %}
<p>
If you need assistance, you may reference this error as
<strong>{{ request.sentry.id }}</strong>.
</p>
{% endif %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -9,5 +9,11 @@
problem and is on his way to solve it.<br /> problem and is on his way to solve it.<br />
Sorry for any inconvenience, but remember, this is an alpha! Sorry for any inconvenience, but remember, this is an alpha!
</p> </p>
{% if request.sentry.id %}
<p>
If you need assistance, you may reference this error as
<strong>{{ request.sentry.id }}</strong>.
</p>
{% endif %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -97,10 +97,15 @@ def about(request):
def error404(request): def error404(request):
from raven.contrib.django.raven_compat.models import sentry_exception_handler
sentry_exception_handler(request=request)
context = RequestContext(request) context = RequestContext(request)
return render_to_response('errors/404.html', context_instance=context) return render_to_response('errors/404.html', context_instance=context)
def error500(request): def error500(request):
context = RequestContext(request) data = {
'request': request
}
context = RequestContext(request, data)
return render_to_response('errors/500.html', context_instance=context) return render_to_response('errors/500.html', context_instance=context)