refactor: made logger a dependency

This commit is contained in:
2025-06-20 16:52:52 +03:00
parent 7ad1336c88
commit 8007b11731
3 changed files with 40 additions and 13 deletions

View File

@@ -1,17 +1,31 @@
package logger
import (
"sync"
"go.uber.org/zap"
"easywish/config"
"go.uber.org/zap"
)
type Logger interface {
Get() *zap.Logger
Sync() error
}
type loggerImpl struct {
}
func NewLogger() Logger {
return &loggerImpl{}
}
var (
logger *zap.Logger
once sync.Once
)
func GetLogger() *zap.Logger {
func (l *loggerImpl) Get() *zap.Logger {
once.Do(func() {
var err error
cfg := config.GetConfig()
@@ -28,6 +42,6 @@ func GetLogger() *zap.Logger {
return logger
}
func Sync() error {
func (l *loggerImpl) Sync() error {
return logger.Sync()
}