'Attempts to return the date on a log line using templates.
This uses the templates\' `getDate` method in an attempt to find
a date.
For the faster usage, always specify a parameter timeMatch (the previous tuple result
of the matchTime), then this will work without locking and without cycle over templates.
Parameters
line : str
Line which is searched by the date templates.
Returns
float
The Unix timestamp returned from the first successfully matched
template or None if not found.'

def getTime(self, line, timeMatch=None):

    if (timeMatch is None):
        timeMatch = self.matchTime(line)
    template = timeMatch[1]
    if (template is not None):
        try:
            date = template.getDate(line, timeMatch[0], default_tz=self.__default_tz)
            if (date is not None):
                if (logSys.getEffectiveLevel() <= logLevel):
                    logSys.log(logLevel, '        got    time    %f    for    %r    using    template    %s', date[0], date[1].group(1), template.name)
                return date
        except ValueError:
            pass
    return None
