'Processes the line for failures and populates failManager'

def processLineAndAdd(self, line, date=None):

    try:
        for element in self.processLine(line, date):
            ip = element[1]
            unixTime = element[2]
            fail = element[3]
            logSys.debug('Processing    line    with    time:%s    and    ip:%s', unixTime, ip)
            if self.inIgnoreIPList(ip, log_ignore=True):
                continue
            logSys.info('[%s]    Found    %s    -    %s', self.jailName, ip, datetime.datetime.fromtimestamp(unixTime).strftime('%Y-%m-%d    %H:%M:%S'))
            tick = FailTicket(ip, unixTime, data=fail)
            self.failManager.addFailure(tick)
            if (Observers.Main is not None):
                Observers.Main.add('failureFound', self.failManager, self.jail, tick)
        if self._errors:
            self._errors //= 2
    except Exception as e:
        logSys.error('Failed    to    process    line:    %r,    caught    exception:    %r', line, e, exc_info=(logSys.getEffectiveLevel() <= logging.DEBUG))
        self.commonError()
