nidus-sync/stadia/logger.go

44 lines
1.1 KiB
Go

// Package restyzerolog provides a wrapper for [zerolog.Logger] to be used with resty
// See:
// - https://resty.dev
// - https://pkg.go.dev/github.com/go-resty/resty/v3#Logger
package stadia
import (
"github.com/rs/zerolog"
)
// Logger is a wrapper for [zerolog.Logger] to be used as logger for resty.
// Contains an instance of [zerolog.Logger], which is used to log messages.
// Not exported, because it's not necessary to use it directly.
type Logger struct {
logger zerolog.Logger
}
// New creates a new instance of [Logger] with provided [zerolog.Logger].
//
// Example of wrapping the default global zerolog logger:
//
// client := resty.New()
// client.SetLogger(restyzerolog.New(log.Logger))
//
// See:
//
// - https://pkg.go.dev/github.com/rs/zerolog/log#pkg-variables
func NewLogger(logger zerolog.Logger) *Logger {
return &Logger{
logger: logger,
}
}
func (r *Logger) Errorf(format string, v ...any) {
r.logger.Error().Msgf(format, v...)
}
func (r *Logger) Warnf(format string, v ...any) {
r.logger.Warn().Msgf(format, v...)
}
func (r *Logger) Debugf(format string, v ...any) {
r.logger.Debug().Msgf(format, v...)
}