aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/panels')
-rw-r--r--debug_toolbar/panels/logger.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/debug_toolbar/panels/logger.py b/debug_toolbar/panels/logger.py
index e3fd21e..cb88148 100644
--- a/debug_toolbar/panels/logger.py
+++ b/debug_toolbar/panels/logger.py
@@ -1,13 +1,10 @@
import datetime
import logging
-
try:
import threading
except ImportError:
threading = None
-
from django.template.loader import render_to_string
-
from debug_toolbar.panels import DebugPanel
class ThreadTrackingHandler(logging.Handler):
@@ -17,10 +14,10 @@ class ThreadTrackingHandler(logging.Handler):
the logging panel cannot be used without it")
logging.Handler.__init__(self)
self.records = {} # a dictionary that maps threads to log records
-
+
def emit(self, record):
self.get_records().append(record)
-
+
def get_records(self, thread=None):
"""
Returns a list of records for the provided thread, of if none is provided,
@@ -31,7 +28,7 @@ class ThreadTrackingHandler(logging.Handler):
if thread not in self.records:
self.records[thread] = []
return self.records[thread]
-
+
def clear_records(self, thread=None):
if thread is None:
thread = threading.currentThread()
@@ -45,21 +42,21 @@ logging.root.addHandler(handler)
class LoggingPanel(DebugPanel):
name = 'Logging'
has_content = True
-
+
def process_request(self, request):
handler.clear_records()
-
+
def get_and_delete(self):
records = handler.get_records()
handler.clear_records()
return records
-
+
def title(self):
return "Logging (%s message%s)" % (len(handler.get_records()), (len(handler.get_records()) == 1) and '' or 's')
-
+
def url(self):
return ''
-
+
def content(self):
records = []
for record in self.get_and_delete():