aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Hudson2011-04-08 09:33:45 -0700
committerRob Hudson2011-04-08 09:33:45 -0700
commited26be9548a4dedc5b3b21bf338e5a0a9bd2484b (patch)
treefc71709d486fbc607f16defca4d7629e2a2f65bb
parent0983bd16ab889b40b430007055687dc909d9536f (diff)
downloaddjango-debug-toolbar-ed26be9548a4dedc5b3b21bf338e5a0a9bd2484b.tar.bz2
Updated sql panel to include logging support.
This matches Django's added logging support to the debug cursor.
-rw-r--r--debug_toolbar/panels/sql.py19
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),