Or set merchant conversations to private. This is very simply done really.
Sorry, I wasn't clear. By merchants, I actually meant player merchants, who typically set up in "hub" areas where people do actually carry on conversations and it can be a pain to keep track of it with regular item exchanges taking up as much space as any other message.
Were all item exchanges put in the combat log instead, they would still be logged and not private. Looting, which mainly takes place out of combat, is not disrupted by this, you still have a reference for who picks up what in a dungeon. Trades, which almost never take place during combat, are not disrupted by this either.
I think it is an intentional design that you can see who is trading what to who and this won't be reconsidered. I think it has its merits. Automated messages for generic actions we repeat constantly during play are a fantastic quality of life feature, but I think these messages can actually disturb roleplay by filling the chatbox very quickly at times. But your combat log is not logging anything when you aren't in combat -- and in an area where there are PC or NPC merchants, there is basically no combat that needs logging. Besides that, if trades go to the combat log, emoting a description of your character taking the item no longer takes up the space of two messages in chat, which is a net gain for readability.
Though the text should definitely be the usual stand-out yellow so it can be distinguished from combat, if trades are being made in dangerous areas.