Improve logging

This commit is contained in:
mahdium committed 2025-09-29 14:16:10 +03:30
1 parent a99e94a42c
commit ea2bfa436a
2 files changed
+50 -9

No files matched your search

+17 -7
View File
@@ -8,17 +8,27 @@ import (
"go.uber.org/zap"
)
type ZapWriter struct {
sugar *zap.SugaredLogger
type DebugWriter struct {
logger *zap.Logger
}
func (z *ZapWriter) Write(p []byte) (n int, err error) {
z.sugar.Debug(strings.TrimSpace(string(p)))
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) {
sugar := logger.Sugar()
mqtt.DEBUG = log.New(&ZapWriter{sugar: sugar}, "[DEBUG] ", 0)
mqtt.ERROR = log.New(&ZapWriter{sugar: sugar}, "[ERROR] ", 0)
mqtt.DEBUG = log.New(&DebugWriter{logger: logger}, "[MQTT] ", 0)
mqtt.ERROR = log.New(&ErrorWriter{logger: logger}, "[MQTT] ", 0)
}