code: def _calculate_bounds(self):
          
          if self._bounds_calculated:
              # Assume no need to recalc bounds for lifetime of a Logfile object
              return
  
          if self.from_stdin:
              return False
  
          # we should be able to find a valid log line within max_start_lines
          max_start_lines = 10
          lines_checked = 0
  
          # get start datetime
          for line in self.filehandle:
              logevent = LogEvent(line)
              lines_checked += 1
              if logevent.datetime:
                  self._start = logevent.datetime
                  self._timezone = logevent.datetime.tzinfo
                  self._datetime_format = logevent.datetime_format
                  self._datetime_nextpos = logevent._datetime_nextpos
                  break
              if lines_checked > max_start_lines:
                  break
  
          # sanity check before attempting to find end date
          if (self._start is None):
              raise SystemExit("Error: <%s> does not appear to be a supported "
                               "MongoDB log file format" % self.filehandle.name)
  
          # get end datetime (lines are at most 10k,
          # go back 30k at most to make sure we catch one)
          self.filehandle.seek(0, 2)
          self._filesize = self.filehandle.tell()
          self.filehandle.seek(-min(self._filesize, 30000), 2)
  
          for line in reversed(self.filehandle.readlines()):
              logevent = LogEvent(line)
              if logevent.datetime:
                  self._end = logevent.datetime
                  break
  
          # if there was a roll-over, subtract 1 year from start time
          if self._end < self._start:
              self._start = self._start.replace(year=self._start.year - 1)
              self._year_rollover = self._end
          else:
              self._year_rollover = False
  
          # reset logfile
          self.filehandle.seek(0)
          self._bounds_calculated = True
  
          return True
docs: Calculate beginning and end of logfile.