Yimaru-BackEnd/internal/logger/mongoLogger/init.go
2025-06-19 19:58:37 +03:00

33 lines
761 B
Go

package mongoLogger
import (
"fmt"
"os"
"github.com/SamuelTariku/FortuneBet-Backend/internal/config"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func InitLogger(cfg *config.Config) (*zap.Logger, error) {
mongoCore, err := NewMongoCore(
os.Getenv("MONGODB_URL"),
"logdb",
"applogs",
zapcore.InfoLevel,
cfg,
)
if err != nil {
return nil, fmt.Errorf("failed to create MongoDB core: %w", err)
}
consoleEncoder := zapcore.NewConsoleEncoder(zap.NewDevelopmentEncoderConfig())
consoleCore := zapcore.NewCore(consoleEncoder, zapcore.Lock(os.Stdout), zapcore.DebugLevel)
combinedCore := zapcore.NewTee(mongoCore, consoleCore)
logger := zap.New(combinedCore, zap.AddCaller(), zap.AddStacktrace(zapcore.ErrorLevel))
return logger, nil
}