使用mqtt协议的python日志处理程序
mqtthandler的Python项目详细描述
使用mqtt协议的python日志处理程序。
安装
pip install mqtthandler
示例用法
importmqtthandlerimportloggingimporttimemqtthdlr=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 brokerlogging.info('test 2')# Wait for log being sent to the MQTT brokerwhileTrue:time.sleep(1)# You will only see# test 2# on the broker if QoS = 0.
mqtthandler不会等待连接,您必须自己完成。 例如
mqtthdlr.loop_start()# Manually connect to the MQTT serverimporttime;time.sleep(3)# A dirty way to wait for MQTT connectedlogging.info('test')# send log message to MQTT broker
mqtthandler将创建一个线程来维护连接 (断开连接时自动重新连接)本身。这会让你 程序永远不会退出。您必须自己终止mqtthandler才能停止 MQTThandler线程。
mqtthdlr.loop_stop()# Stop MQTT thread
API
mqtthandler
构造器
MQTTHandler(host, topic, port=1883, keepalive=60, bind_address='', client_id='', clean_session=True, userdata=None, protocol=mqttc.MQTTv311, qos=0, retain=False)
对paho.mqtt.python的引用。
方法
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)
对paho.mqtt.python的引用。