From d77eb9a839c497350d5874183b29df0bb0d14753 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Fri, 5 Mar 2010 22:11:24 +0000 Subject: [PATCH] Factored out time usage determination into a method, to facilitate alternative formatting implementations in the future. --- Lib/logging/__init__.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py index b5c48d34a8c..7d70b4ae5fa 100644 --- a/Lib/logging/__init__.py +++ b/Lib/logging/__init__.py @@ -434,6 +434,12 @@ class Formatter(object): s = s[:-1] return s + def usesTime(self): + """ + Check if the format uses the creation time of the record. + """ + return self._fmt.find("%(asctime)") >= 0 + def format(self, record): """ Format the specified record as text. @@ -442,13 +448,13 @@ class Formatter(object): string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed - using LogRecord.getMessage(). If the formatting string contains - "%(asctime)", formatTime() is called to format the event time. - If there is exception information, it is formatted using - formatException() and appended to the message. + using LogRecord.getMessage(). If the formatting string uses the + time (as determined by a call to usesTime(), formatTime() is + called to format the event time. If there is exception information, + it is formatted using formatException() and appended to the message. """ record.message = record.getMessage() - if self._fmt.find("%(asctime)") >= 0: + if self.usesTime(): record.asctime = self.formatTime(record, self.datefmt) s = self._fmt % record.__dict__ if record.exc_info: