Dmitri 4565a728a5
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 3m38s
dependecy injection uber to the win
2026-04-20 21:28:36 +02:00

50 lines
925 B
Go

package logger
import (
"go.uber.org/zap"
"log"
"git.kanopo.dev/rhythm/rhythm-backend/internal/config"
)
func New(env string) *zap.SugaredLogger {
var zapLogger *zap.Logger
var err error
if env == "production" {
zapLogger, err = zap.NewProduction()
} else {
zapLogger, err = zap.NewDevelopment()
}
if err != nil {
log.Fatalf("failed to initialize zap logger: %v", err)
}
return zapLogger.Sugar()
}
func NewFromConfig(cfg *config.Config) *zap.SugaredLogger {
return New(cfg.AppEnv)
}
type GooseLogger struct {
*zap.SugaredLogger
}
func (l *GooseLogger) Fatal(v ...interface{}) {
l.SugaredLogger.Fatal(v...)
}
func (l *GooseLogger) Fatalf(format string, v ...interface{}) {
l.SugaredLogger.Fatalf(format, v...)
}
func (l *GooseLogger) Print(v ...interface{}) {
l.SugaredLogger.Info(v...)
}
func (l *GooseLogger) Printf(format string, v ...interface{}) {
l.SugaredLogger.Infof(format, v...)
}