mirror of
https://github.com/hanzo-fi/go-libs.git
synced 2026-10-30 20:53:44 +00:00
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package publish
|
|
|
|
import (
|
|
"github.com/ThreeDotsLabs/watermill"
|
|
|
|
logging "github.com/hanzo-fi/go-libs/v5/pkg/observe/log"
|
|
)
|
|
|
|
type watermillLoggerAdapter struct {
|
|
includeTraceLogs bool
|
|
logging.Logger
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) Error(msg string, err error, fields watermill.LogFields) {
|
|
w.WithFields(fields).WithFields(map[string]any{
|
|
"err": err,
|
|
}).Error(msg)
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) Info(msg string, fields watermill.LogFields) {
|
|
w.WithFields(fields).Info(msg)
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) Debug(msg string, fields watermill.LogFields) {
|
|
w.WithFields(fields).Debug(msg)
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) Trace(msg string, fields watermill.LogFields) {
|
|
if w.includeTraceLogs {
|
|
w.WithFields(fields).Debug(msg)
|
|
}
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) With(fields watermill.LogFields) watermill.LoggerAdapter {
|
|
return watermillLoggerAdapter{
|
|
includeTraceLogs: w.includeTraceLogs,
|
|
Logger: w.Logger.WithFields(fields),
|
|
}
|
|
}
|
|
|
|
func NewWatermillLoggerAdapter(logger logging.Logger, trace bool) watermill.LoggerAdapter {
|
|
return watermillLoggerAdapter{
|
|
includeTraceLogs: trace,
|
|
Logger: logger,
|
|
}
|
|
}
|
|
|
|
var _ watermill.LoggerAdapter = &watermillLoggerAdapter{}
|