mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package publish
|
|
|
|
import (
|
|
"github.com/ThreeDotsLabs/watermill"
|
|
"github.com/formancehq/stack/libs/go-libs/logging"
|
|
"go.uber.org/fx"
|
|
)
|
|
|
|
type watermillLoggerAdapter struct {
|
|
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) {
|
|
w.WithFields(fields).Debug(msg)
|
|
}
|
|
|
|
func (w watermillLoggerAdapter) With(fields watermill.LogFields) watermill.LoggerAdapter {
|
|
return watermillLoggerAdapter{
|
|
Logger: w.Logger.WithFields(fields),
|
|
}
|
|
}
|
|
|
|
func NewWatermillLoggerAdapter(logger logging.Logger) watermill.LoggerAdapter {
|
|
return watermillLoggerAdapter{
|
|
Logger: logger,
|
|
}
|
|
}
|
|
|
|
var _ watermill.LoggerAdapter = &watermillLoggerAdapter{}
|
|
|
|
func defaultLoggingModule() fx.Option {
|
|
return fx.Provide(func(logger logging.Logger) watermill.LoggerAdapter {
|
|
return watermillLoggerAdapter{
|
|
Logger: logger,
|
|
}
|
|
})
|
|
}
|