24 lines
		
	
	
		
			500 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			500 B
		
	
	
	
		
			Go
		
	
	
	
	
	
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)
 | 
						|
} |