code: func newStreamConfig(info logger.Info) (*logStreamConfig, error) {
  	logGroupName := info.Config[logGroupKey]
  	logStreamName, err := loggerutils.ParseLogTag(info, "{{.FullID}}")
  	if err != nil {
  		return nil, err
  	}
  	logCreateGroup := false
  	if info.Config[logCreateGroupKey] != "" {
  		logCreateGroup, err = strconv.ParseBool(info.Config[logCreateGroupKey])
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	logNonBlocking := info.Config["mode"] == "non-blocking"
  
  	forceFlushInterval := defaultForceFlushInterval
  	if info.Config[forceFlushIntervalKey] != "" {
  		forceFlushIntervalAsInt, err := strconv.Atoi(info.Config[forceFlushIntervalKey])
  		if err != nil {
  			return nil, err
  		}
  		forceFlushInterval = time.Duration(forceFlushIntervalAsInt) * time.Second
  	}
  
  	maxBufferedEvents := int(defaultMaxBufferedEvents)
  	if info.Config[maxBufferedEventsKey] != "" {
  		maxBufferedEvents, err = strconv.Atoi(info.Config[maxBufferedEventsKey])
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	if info.Config[logStreamKey] != "" {
  		logStreamName = info.Config[logStreamKey]
  	}
  
  	multilinePattern, err := parseMultilineOptions(info)
  	if err != nil {
  		return nil, err
  	}
  
  	containerStreamConfig := &logStreamConfig{
  		logStreamName:      logStreamName,
  		logGroupName:       logGroupName,
  		logCreateGroup:     logCreateGroup,
  		logNonBlocking:     logNonBlocking,
  		forceFlushInterval: forceFlushInterval,
  		maxBufferedEvents:  maxBufferedEvents,
  		multilinePattern:   multilinePattern,
  	}
  
  	return containerStreamConfig, nil
  }
docs: // Parses most of the awslogs- options and prepares a config object to be used for newing the actual stream
  // It has been formed out to ease Utest of the New above