76 lines
2.0 KiB
Go
76 lines
2.0 KiB
Go
// pkg/logger/interface.go
|
|
package logger
|
|
|
|
import "go.uber.org/zap"
|
|
|
|
// LoggerInterface определяет контракт для логгера
|
|
type LoggerInterface interface {
|
|
Debug(msg string, fields ...zap.Field)
|
|
Info(msg string, fields ...zap.Field)
|
|
Warn(msg string, fields ...zap.Field)
|
|
Error(msg string, fields ...zap.Field)
|
|
Fatal(msg string, fields ...zap.Field)
|
|
|
|
Debugf(template string, args ...interface{})
|
|
Infof(template string, args ...interface{})
|
|
Warnf(template string, args ...interface{})
|
|
Errorf(template string, args ...interface{})
|
|
Fatalf(template string, args ...interface{})
|
|
|
|
With(fields ...zap.Field) LoggerInterface
|
|
}
|
|
|
|
// wrapper обертка для zap.Logger
|
|
type wrapper struct {
|
|
logger *zap.Logger
|
|
}
|
|
|
|
// NewWrapper создает новую обертку
|
|
func NewWrapper(logger *zap.Logger) LoggerInterface {
|
|
return &wrapper{logger: logger}
|
|
}
|
|
|
|
func (w *wrapper) Debug(msg string, fields ...zap.Field) {
|
|
w.logger.Debug(msg, fields...)
|
|
}
|
|
|
|
func (w *wrapper) Info(msg string, fields ...zap.Field) {
|
|
w.logger.Info(msg, fields...)
|
|
}
|
|
|
|
func (w *wrapper) Warn(msg string, fields ...zap.Field) {
|
|
w.logger.Warn(msg, fields...)
|
|
}
|
|
|
|
func (w *wrapper) Error(msg string, fields ...zap.Field) {
|
|
w.logger.Error(msg, fields...)
|
|
}
|
|
|
|
func (w *wrapper) Fatal(msg string, fields ...zap.Field) {
|
|
w.logger.Fatal(msg, fields...)
|
|
}
|
|
|
|
func (w *wrapper) Debugf(template string, args ...interface{}) {
|
|
w.logger.Sugar().Debugf(template, args...)
|
|
}
|
|
|
|
func (w *wrapper) Infof(template string, args ...interface{}) {
|
|
w.logger.Sugar().Infof(template, args...)
|
|
}
|
|
|
|
func (w *wrapper) Warnf(template string, args ...interface{}) {
|
|
w.logger.Sugar().Warnf(template, args...)
|
|
}
|
|
|
|
func (w *wrapper) Errorf(template string, args ...interface{}) {
|
|
w.logger.Sugar().Errorf(template, args...)
|
|
}
|
|
|
|
func (w *wrapper) Fatalf(template string, args ...interface{}) {
|
|
w.logger.Sugar().Fatalf(template, args...)
|
|
}
|
|
|
|
func (w *wrapper) With(fields ...zap.Field) LoggerInterface {
|
|
return &wrapper{logger: w.logger.With(fields...)}
|
|
}
|