package mqtt import ( "log" "strings" mqtt "github.com/eclipse/paho.mqtt.golang" "go.uber.org/zap" ) type ZapWriter struct { sugar *zap.SugaredLogger } func (z *ZapWriter) Write(p []byte) (n int, err error) { z.sugar.Debug(strings.TrimSpace(string(p))) return len(p), nil } func SetupMQTTLogging(logger *zap.Logger) { sugar := logger.Sugar() mqtt.DEBUG = log.New(&ZapWriter{sugar: sugar}, "[DEBUG] ", 0) mqtt.ERROR = log.New(&ZapWriter{sugar: sugar}, "[ERROR] ", 0) }