WebSphere MQ message history
Keep in mind that it can still traverse the network as the MQ architecture can have many mid-tier queues. Likewise, there is no need to immediately transmit the message over the channel - the sender can batch messages and send them using a trigger.
The best way to ensure that you log everything that comes in is with a queue of interceptors.
This is the queue (let's call it A) that the channel is written to and until this change is read by your application. Then you have a transfer process that reads from A, writes a message, and writes it to the second queue (B). This second queue is what your application is now reading.
source to share
You can put a log statement at the end of the queue so that as soon as you receive the message, you dump the contents into the log. That way, if the other system says they sent a message, all they have to do is tell you when you can look in your log and see if a message came from them around that time.
source to share