Logging
Logger hierarchy
zmqtt uses the standard logging module with the following logger names:
zmqtt
├── zmqtt.client
└── zmqtt.protocol
Configure any of these with the standard logging API.
Enabling logging
The simplest way to see all library output:
import logging
logging.basicConfig(level=logging.DEBUG)
For production, configure only the loggers you care about:
import logging
logging.getLogger("zmqtt.client").setLevel(logging.WARNING)
logging.getLogger("zmqtt.protocol").setLevel(logging.DEBUG)
What DEBUG output looks like
At DEBUG level, the protocol logger reports connection and packet activity. A typical stream contains:
DEBUG zmqtt.protocol Connecting
DEBUG zmqtt.protocol Sending 27 bytes
INFO zmqtt.protocol Connected
DEBUG zmqtt.protocol Sent SUBSCRIBE
DEBUG zmqtt.protocol Received PingResp()
At INFO level the client layer logs reconnection events:
WARNING zmqtt.client Connection lost, reconnecting...
INFO zmqtt.client Successfully reconnected
Duplicate-filter warnings come from zmqtt.protocol (see Subscribing — Duplicate-filter guard):
WARNING zmqtt.protocol Filter 'data/temp' already subscribed (ignored)
See also: Reconnection · Error Handling