From d0557bfe77eeedf9f59e6ba2954ab785095244dc Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Mon, 25 Oct 2010 15:25:24 +0000 Subject: [PATCH] logging: Formatter implementation tweak. --- Lib/logging/__init__.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index 0e29cf355c0..b6dd2339a04 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -482,6 +482,17 @@ class Formatter(object): self._fmt.find("${asctime}") >= 0 return result + def formatMessage(self, record): + style = self._style + if style == '%': + s = self._fmt % record.__dict__ + elif style == '{': + s = self._fmt.format(**record.__dict__) + else: + from string import Template + s = Template(self._fmt).substitute(**record.__dict__) + return s + def format(self, record): """ Format the specified record as text. @@ -498,14 +509,7 @@ class Formatter(object): record.message = record.getMessage() if self.usesTime(): record.asctime = self.formatTime(record, self.datefmt) - style = self._style - if style == '%': - s = self._fmt % record.__dict__ - elif style == '{': - s = self._fmt.format(**record.__dict__) - else: - from string import Template - s = Template(self._fmt).substitute(**record.__dict__) + s = self.formatMessage(record) if record.exc_info: # Cache the traceback text to avoid converting it multiple times # (it's constant anyway)