Skip to main content

A Python logging handler using MQTT protocol

Project description

A Python logging handler using MQTT protocol.

Installation

pip install mqtthandler

Example usage

import mqtthandler
import logging
import time

mqtthdlr = mqtthandler.MQTTHandler('server.mqtt.com', 'topic/test')
mqtthdlr.setLevel(logging.INFO)

logger = logging.getLogger()
logger.addHandler(mqtthdlr)
logger.setLevel(logging.INFO)

logging.info('test')  # Automatically connecting to the MQTT broker if not connected (equal to loop_start()) and sending log message to MQTT broker
logging.info('test 2')

# Wait for log being sent to the MQTT broker
while True:
  time.sleep(1)

# You will only see
#   test 2
# on the broker if QoS = 0.

MQTTHandler will not wait for connected, you have to do it yourself. E.g.

mqtthdlr.loop_start()   # Manually connect to the MQTT server
import time; time.sleep(3)   # A dirty way to wait for MQTT connected
logging.info('test')  # send log message to MQTT broker

MQTTHandler will create a thread to maintain the connection (automatically reconnecting if disconnected) itself. This will make your program never exit. You have to terminate MQTTHandler yourself to stop the MQTTHandler thread.

mqtthdlr.loop_stop()  # Stop MQTT thread

API

MQTTHandler

Constructor

MQTTHandler(host, topic, port=1883, keepalive=60, bind_address='', client_id='', clean_session=True, userdata=None, protocol=mqttc.MQTTv311, qos=0, retain=False)

Reference to paho.mqtt.python.

Methods

loop_start()
loop_stop()
max_inflight_messages_set(inflight)
message_retry_set(retry)
tls_set(ca_certs, certfile=None, keyfile=None, cert_reqs=ss.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1, ciphers=None)
tls_insecure_set(value)
username_pw_set(username, password)
user_data_set(userdata)
will_set(topic, payload=None, qos=0, retain=False)

Reference to paho.mqtt.python.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mqtthandler, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size mqtthandler-0.1.3.tar.gz (3.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page