Files
MQTTLogger/internal/mqtt/logger.go
2025-09-29 14:16:10 +03:30

34 lines
781 B
Go

package mqtt
import (
"log"
"strings"
mqtt "github.com/eclipse/paho.mqtt.golang"
"go.uber.org/zap"
)
type DebugWriter struct {
logger *zap.Logger
}
func (d *DebugWriter) Write(p []byte) (n int, err error) {
message := strings.TrimSpace(string(p))
d.logger.Debug(message, zap.String("source", "mqtt-debug"))
return len(p), nil
}
type ErrorWriter struct {
logger *zap.Logger
}
func (e *ErrorWriter) Write(p []byte) (n int, err error) {
message := strings.TrimSpace(string(p))
e.logger.Error(message, zap.String("source", "mqtt-error"))
return len(p), nil
}
func SetupMQTTLogging(logger *zap.Logger) {
mqtt.DEBUG = log.New(&DebugWriter{logger: logger}, "[MQTT] ", 0)
mqtt.ERROR = log.New(&ErrorWriter{logger: logger}, "[MQTT] ", 0)
}