Factored out time usage determination into a method, to facilitate alternative formatting implementations in the future.

This commit is contained in:
Vinay Sajip 2010-03-05 22:11:24 +00:00
parent cecef392f1
commit d77eb9a839
1 changed files with 11 additions and 5 deletions

View File

@ -434,6 +434,12 @@ class Formatter(object):
s = s[:-1] s = s[:-1]
return s 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): def format(self, record):
""" """
Format the specified record as text. Format the specified record as text.
@ -442,13 +448,13 @@ class Formatter(object):
string formatting operation which yields the returned string. string formatting operation which yields the returned string.
Before formatting the dictionary, a couple of preparatory steps Before formatting the dictionary, a couple of preparatory steps
are carried out. The message attribute of the record is computed are carried out. The message attribute of the record is computed
using LogRecord.getMessage(). If the formatting string contains using LogRecord.getMessage(). If the formatting string uses the
"%(asctime)", formatTime() is called to format the event time. time (as determined by a call to usesTime(), formatTime() is
If there is exception information, it is formatted using called to format the event time. If there is exception information,
formatException() and appended to the message. it is formatted using formatException() and appended to the message.
""" """
record.message = record.getMessage() record.message = record.getMessage()
if self._fmt.find("%(asctime)") >= 0: if self.usesTime():
record.asctime = self.formatTime(record, self.datefmt) record.asctime = self.formatTime(record, self.datefmt)
s = self._fmt % record.__dict__ s = self._fmt % record.__dict__
if record.exc_info: if record.exc_info: