Files
mayan-edms/mayan/apps/common/middleware/error_logging.py
Roberto Rosario 8e896a54f9 Middleware: Modernize middleware classes
Make the custom middleware provided by Mayan to use the
MiddlewareMixin provide by Django. This make the middleware
classes behave like classes or callables. This change ensures
compatibility with Django 2.x.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
2018-11-25 00:59:39 -04:00

20 lines
594 B
Python

from __future__ import unicode_literals
import logging
from django.core.exceptions import PermissionDenied
from django.http import Http404
from django.utils.deprecation import MiddlewareMixin
logger = logging.getLogger(__name__)
class ErrorLoggingMiddleware(MiddlewareMixin):
def process_exception(self, request, exception):
if not isinstance(exception, (PermissionDenied, Http404)):
# Don't log non critical exceptions
logger.exception(
'Exception caught by request middleware; %s, %s', request,
exception
)