diff options
| author | Rob Hudson | 2011-04-08 09:33:45 -0700 | 
|---|---|---|
| committer | Rob Hudson | 2011-04-08 09:33:45 -0700 | 
| commit | ed26be9548a4dedc5b3b21bf338e5a0a9bd2484b (patch) | |
| tree | fc71709d486fbc607f16defca4d7629e2a2f65bb /debug_toolbar/panels/sql.py | |
| parent | 0983bd16ab889b40b430007055687dc909d9536f (diff) | |
| download | django-debug-toolbar-ed26be9548a4dedc5b3b21bf338e5a0a9bd2484b.tar.bz2 | |
Updated sql panel to include logging support.
This matches Django's added logging support to the debug cursor.
Diffstat (limited to 'debug_toolbar/panels/sql.py')
| -rw-r--r-- | debug_toolbar/panels/sql.py | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py index 90a7b51..c6e73a0 100644 --- a/debug_toolbar/panels/sql.py +++ b/debug_toolbar/panels/sql.py @@ -21,6 +21,14 @@ from django.template.loader import render_to_string  from django.utils import simplejson  from django.utils.encoding import force_unicode, DjangoUnicodeDecodeError  from django.utils.hashcompat import sha_constructor +try: +    from django.utils.log import getLogger +    logger = getLogger('django.db.backends') +    has_logger = True +except ImportError: +    # Compatibility with Django < 1.2 +    has_logger = False +      from django.utils.translation import ugettext_lazy as _  from debug_toolbar.panels import DebugPanel @@ -132,6 +140,12 @@ class DatabaseStatTracker(util.CursorDebugWrapper):                  pass              del cur_frame +            # Logging was added in Django 1.3 +            if has_logger: +                logger.debug('(%.3f) %s; args=%s' % (duration, sql, params), +                    extra={'duration':duration, 'sql':sql, 'params':params} +                ) +              # We keep `sql` to maintain backwards compatibility              self.db.queries.append({                  'sql': self.db.ops.last_executed_query(self.cursor, sql, params), @@ -175,6 +189,11 @@ class DatabaseStatTracker(util.CursorDebugWrapper):                  pass              del cur_frame +            if has_logger: +                logger.debug('(%.3f) %s; args=%s' % (duration, sql, params), +                    extra={'duration':duration, 'sql':sql, 'params':params} +                ) +              # We keep `sql` to maintain backwards compatibility              self.db.queries.append({                  'sql': self.db.ops.last_executed_query(self.cursor, sql, params), | 
