code: def _ParseContainerLogJSON(self, parser_mediator, file_object):
      
      container_id = self._GetIdentifierFromPath(parser_mediator)
  
      text_file_object = text_file.TextFile(file_object)
      for log_line in text_file_object:
        json_log_line = json.loads(log_line)
  
        time = json_log_line.get('time', None)
        if not time:
          continue
  
        event_data = DockerJSONContainerLogEventData()
        event_data.container_id = container_id
        event_data.log_line = json_log_line.get('log', None)
        event_data.log_source = json_log_line.get('stream', None)
        # TODO: pass line number to offset or remove.
        event_data.offset = 0
  
        timestamp = timelib.Timestamp.FromTimeString(time)
  
        event = time_events.TimestampEvent(
            timestamp, definitions.TIME_DESCRIPTION_WRITTEN)
        parser_mediator.ProduceEventWithEventData(event, event_data)
docs: Extract events from a Docker container log files.
  
      The format is one JSON formatted log message per line.
  
      The path of each container log file (which logs the container stdout and
      stderr) is:
      DOCKER_DIR/containers/<container_id>/<container_id>-json.log
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        file_object (dfvfs.FileIO): a file-like object.