Provides facilities to write and format log and trace to help debug problems.

The default log and trace facility uses Java's build in log facility:- java.util.logging. For systems where this is not available or where an alternative logging framework is required the logging facility can be replaced using {@link org.eclipse.paho.client.mqttv3.logging.LoggerFactory#setLogger(String)} which takes an implementation of the {@link org.eclipse.paho.client.mqttv3.logging.Logger} interface.

A sample java.util.logging properties file - jsr47min.properties is provided that demonstrates how to run with a memory based trace facility that runs with minimal performance overhead. The memory buffer can be dumped when a log/trace record is written matching the MemoryHandlers trigger level or when the push method is invoked on the MemoryHandler. {@link org.eclipse.paho.client.mqttv3.util.Debug Debug} provides method to make it easy to dump the memory buffer as well as other useful debug info.