Files
free-turn-proxy/internal/logx/prefix.go
T

24 lines
813 B
Go

package logx
import "strings"
type prefixedLogger struct {
Logger
prefix string
}
// WithPrefix привязывает источник к логгеру, не к изменяемому глобальному состоянию.
func WithPrefix(logger Logger, prefix string) Logger {
return &prefixedLogger{Logger: OrNop(logger), prefix: strings.ReplaceAll(prefix, "%", "%%")}
}
func (l *prefixedLogger) Debugf(format string, v ...any) {
if l.DebugEnabled() {
l.Logger.Debugf(l.prefix+format, v...)
}
}
func (l *prefixedLogger) Infof(format string, v ...any) { l.Logger.Infof(l.prefix+format, v...) }
func (l *prefixedLogger) Warnf(format string, v ...any) { l.Logger.Warnf(l.prefix+format, v...) }
func (l *prefixedLogger) Errorf(format string, v ...any) { l.Logger.Errorf(l.prefix+format, v...) }