In the example demonstrating usage of QueueHandler and QueueListener, the listener is instantiated with the following line in the example:
logging.handlers.QueueListener(queue, handler_loki)
Looking at the source code, the thread handling the queue is not instantiated or started until start() is called (so __init__ is not enough).