code: func newGELFTCPWriter(address string, info logger.Info) (gelf.Writer, error) {
  	gelfWriter, err := gelf.NewTCPWriter(address)
  	if err != nil {
  		return nil, fmt.Errorf("gelf: cannot connect to GELF endpoint: %s %v", address, err)
  	}
  
  	if v, ok := info.Config["gelf-tcp-max-reconnect"]; ok {
  		i, err := strconv.Atoi(v)
  		if err != nil || i < 0 {
  			return nil, fmt.Errorf("gelf-tcp-max-reconnect must be a positive integer")
  		}
  		gelfWriter.MaxReconnect = i
  	}
  
  	if v, ok := info.Config["gelf-tcp-reconnect-delay"]; ok {
  		i, err := strconv.Atoi(v)
  		if err != nil || i < 0 {
  			return nil, fmt.Errorf("gelf-tcp-reconnect-delay must be a positive integer")
  		}
  		gelfWriter.ReconnectDelay = time.Duration(i)
  	}
  
  	return gelfWriter, nil
  }
docs: // create new TCP gelfWriter