Improve logging
This commit is contained in:
1 parent
a99e94a42c
commit
ea2bfa436a
2 files changed
+50
-9
No files matched your search
+17
-7
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user