diff options
Diffstat (limited to 'debug_toolbar/panels')
| -rw-r--r-- | debug_toolbar/panels/logger.py | 19 |
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(): |
