Login

Middelware to remember sql query log from before a redirect

Author:
miracle2k
Posted:
September 17, 2007
Language:
Python
Version:
.96
Tags:
sql debug queries database
Score:
1 (after 1 ratings)

Simple middelware that listens for redirect responses, store the request's query log in the session when it finds one, and starts the next request's log off with those queries from before the redirect.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from django.http import HttpResponseRedirect
from django.core.exceptions import MiddlewareNotUsed

class SqlDebuggingRedirWrapMiddleware(object):
    def __init__(self):
        if not (getattr(settings, 'DEBUG', False)):
            raise django.exceptions.MiddlewareNotUsed()
        
    def process_response(self, request, response):
        if isinstance(response, HttpResponseRedirect):
            request.session['_redir_queries'] = connection.queries
        return response
    
    def process_request(self, request):        
        if '_redir_queries' in request.session:
            connection.queries[0:0] = request.session['_redir_queries']
            del request.session['_redir_queries']

More like this

  1. SQL Log Middleware w/query count & exec time by tobias 8 years, 4 months ago
  2. another request logging middleware with request time and extra info by yoav 3 years, 7 months ago
  3. SQL Log Middleware by joshua 8 years, 5 months ago
  4. Color SQL logging middleware by moe 7 years, 6 months ago
  5. SQL Log Middleware - with multiple databases by guglielmocelata 4 years, 6 months ago

Comments

Please login first before commenting.