Dmitri 730f411494
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 3m33s
logger
2026-04-20 21:47:28 +02:00

51 lines
967 B
Go

package logger
import (
"log"
"go.uber.org/zap"
"git.kanopo.dev/rhythm/rhythm-backend/internal/config"
)
func New(env string) (*zap.Logger, *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, zapLogger.Sugar()
}
func ProvideLogger(cfg *config.Config) (*zap.Logger, *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...)
}