Console output for function with multiple arguments

I have this class method:

```
searchForProduct({productName, manufacturer, seller}, itemsPerPage = 20, onlyAvailable = true) {
    console.log(Searching for...) // Here's what is my question about
    //do stuff
}

```

How can I print out all arguments that I'm passing to the method?

What a want to achieve is:

```
searchForProduct({productName: laptop});

// Output:
"Searching for productName: 'laptop'"

// or

searchForProduct({productName: "laptop", manufacturer: "Dell"});

// Output:
"Searching for productName: 'laptop', manufacturer: 'Dell'"

```

And so on...

Also (if it's possible with any approach that will be proposed) I don't want to print out default `itemsPerPage` and `onlyAvailable` even if it will be passed to the method.

**UPD:**

Wow, I was not expecting this amount of such neat approaches in the answers. 
However I should admit that I'm not allowed to change this function. Basically I just need to add this output form my personal needs since changing this method will "break everything". 

I apologize for time that you took to propose passing object instead of destructed arguments. I'll upvote your answers anyway

**UPD2:**

I tried a couple of suggestion but still didn't achieved the perfect result:

```
searchForProduct({productName, manufacturer, seller}, itemsPerPage = 20, onlyAvailable = true) {
    function buildString({firstArgument, secondArgument, thirdArgument}) {
        return {
            productName: (firstArgument !== undefined) ? firstArgument : "",
            manufacturer: (secondArgument !== undefined) ? secondArgument : "",
            seller: (thirdArgument !== undefined) ? thirdArgument : ""
        }
    }
    const searchString = buildString({productName, manufacturer, seller})
    const displayStr = Object.entries(searchString)
    .map(([key, val]) => key + ': ' + val)
    .join(', ');
    console.log('Searching for', displayStr);
    //do stuff
}

```

The `buildString` function is super ugly but it works without changing the original function.

However I have faced an issue when not all arguments are passed

It will look like:

```
"Searching for productName: "laptop", manufacturer: "Dell", seller: undefined

```

I tried:

```
function buildString({firstArgument, secondArgument, thirdArgument}) {
        return {
            productName: (firstArgument !== undefined) ? firstArgument : delete productName,
            manufacturer: (secondArgument !== undefined) ? secondArgument : delete manufacturer,
            seller: (thirdArgument !== undefined) ? thirdArgument : delete seller
        }
    }

```

But this gives me:

```
"Searching for productName: "laptop", manufacturer: "Dell", seller: true

```

According to MDN:

> 
> When trying to delete a property that does not exist, true is
>  returned
> 
> 
> 

However property does exist - it's value does not. So what I tried to above is to delete the object key if it does not have a value.
Currently no success