code: def logfile_generator(self):
          
          if not self.args['exclude']:
              # ask all filters for a start_limit and fast-forward to the maximum
              start_limits = [f.start_limit for f in self.filters
                              if hasattr(f, 'start_limit')]
  
              if start_limits:
                  for logfile in self.args['logfile']:
                      logfile.fast_forward(max(start_limits))
  
          if len(self.args['logfile']) > 1:
              # merge log files by time
              for logevent in self._merge_logfiles():
                  yield logevent
          else:
              # only one file
              for logevent in self.args['logfile'][0]:
                  if self.args['timezone'][0] != 0 and logevent.datetime:
                      logevent._datetime = (logevent.datetime +
                                            timedelta(hours=self
                                                      .args['timezone'][0]))
                  yield logevent
docs: Yield each line of the file, or the next line if several files.