package logger import ( "errors" "log/slog" "os" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/constants" ) func Init(mode string) (*slog.Logger, error) { var handler slog.Handler var level slog.Level switch mode { case string(constants.LocalApplicationMode): level = slog.LevelDebug handler = slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ Level: level, }) case string(constants.DevApplicationMode): level = slog.LevelDebug handler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{ Level: level, }) case string(constants.ProdApplicationMode): level = slog.LevelInfo handler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{ Level: level, }) default: return nil, errors.New("unknown logger mode: " + mode) } return slog.New(handler), nil }