import logging import bunyan from .MessageHandler import messageHandler class customMQTTLogger(): """ Description: Returns a logger with bunyan formatted output Logger emits the messages to a mqtt client Function Call: customLogger(loggerName="", level="", TOPIC = "", BROKER="", PORT="", QoSLevel="") Returns: A custom logger object similar to python logger. """ def __init__(self, loggerName="MESSAGE LOGGER", level="DEBUG", TOPIC = "", BROKER = "", PORT = 1883, QoSLevel = 1): self.logger = logging.getLogger(loggerName) self.logger.setLevel(level) handler = messageHandler(TOPIC=TOPIC, BROKER=BROKER, PORT=PORT, QoSLevel=QoSLevel) formatter = bunyan.BunyanFormatter() handler.setFormatter(formatter) self.logger.addHandler(handler)