aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar')
-rw-r--r--debug_toolbar/panels/logger.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/debug_toolbar/panels/logger.py b/debug_toolbar/panels/logger.py
index e894b50..816e718 100644
--- a/debug_toolbar/panels/logger.py
+++ b/debug_toolbar/panels/logger.py
@@ -4,15 +4,15 @@ try:
import threading
except ImportError:
threading = None
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import ungettext, ugettext_lazy as _
from debug_toolbar.panels import DebugPanel
class LogCollector(object):
def __init__(self):
if threading is None:
- raise NotImplementedError("threading module is not available, \
- the logging panel cannot be used without it")
+ raise NotImplementedError("threading module is not available, "
+ "the logging panel cannot be used without it")
self.records = {} # a dictionary that maps threads to log records
def add_record(self, record, thread=None):
@@ -96,6 +96,10 @@ class LoggingPanel(DebugPanel):
template = 'debug_toolbar/panels/logger.html'
has_content = True
+ def __init__(self, *args, **kwargs):
+ super(LoggingPanel, self).__init__(*args, **kwargs)
+ self._records = {}
+
def process_request(self, request):
collector.clear_records()
@@ -105,6 +109,7 @@ class LoggingPanel(DebugPanel):
def get_and_delete(self):
records = collector.get_records()
+ self._records[threading.currentThread()] = records
collector.clear_records()
return records
@@ -112,8 +117,10 @@ class LoggingPanel(DebugPanel):
return _("Logging")
def nav_subtitle(self):
- # FIXME l10n: use ngettext
- return "%s message%s" % (len(collector.get_records()), (len(collector.get_records()) == 1) and '' or 's')
+ records = self._records[threading.currentThread()]
+ record_count = len(records)
+ return ungettext('%(count)s message', '%(count)s messages',
+ record_count) % {'count': record_count}
def title(self):
return _('Log Messages')