@@ -16,6 +16,15 @@ import (
1616
1717 "github.com/google/uuid"
1818 "github.com/maximhq/bifrost/core/providers"
19+ "github.com/maximhq/bifrost/core/providers/anthropic"
20+ "github.com/maximhq/bifrost/core/providers/azure"
21+ "github.com/maximhq/bifrost/core/providers/bedrock"
22+ "github.com/maximhq/bifrost/core/providers/cohere"
23+ "github.com/maximhq/bifrost/core/providers/gemini"
24+ "github.com/maximhq/bifrost/core/providers/mistral"
25+ "github.com/maximhq/bifrost/core/providers/openai"
26+ providerUtils "github.com/maximhq/bifrost/core/providers/utils"
27+ "github.com/maximhq/bifrost/core/providers/vertex"
1928 schemas "github.com/maximhq/bifrost/core/schemas"
2029)
2130
@@ -77,13 +86,20 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
7786 return nil , fmt .Errorf ("account is required to initialize Bifrost" )
7887 }
7988
89+ if config .Logger == nil {
90+ config .Logger = NewDefaultLogger (schemas .LogLevelInfo )
91+ }
92+
93+ providerUtils .SetLogger (config .Logger )
94+
8095 bifrost := & Bifrost {
8196 ctx : ctx ,
8297 account : config .Account ,
8398 plugins : atomic.Pointer [[]schemas.Plugin ]{},
8499 requestQueues : sync.Map {},
85100 waitGroups : sync.Map {},
86101 keySelector : config .KeySelector ,
102+ logger : config .Logger ,
87103 }
88104 bifrost .plugins .Store (& config .Plugins )
89105
@@ -149,11 +165,6 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
149165 return nil , err
150166 }
151167
152- if config .Logger == nil {
153- config .Logger = NewDefaultLogger (schemas .LogLevelInfo )
154- }
155- bifrost .logger = config .Logger
156-
157168 // Initialize MCP manager if configured
158169 if config .MCPConfig != nil {
159170 mcpManager , err := newMCPManager (ctx , * config .MCPConfig , bifrost .logger )
@@ -1253,19 +1264,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12531264
12541265 switch targetProviderKey {
12551266 case schemas .OpenAI :
1256- return providers .NewOpenAIProvider (config , bifrost .logger ), nil
1267+ return openai .NewOpenAIProvider (config , bifrost .logger ), nil
12571268 case schemas .Anthropic :
1258- return providers .NewAnthropicProvider (config , bifrost .logger ), nil
1269+ return anthropic .NewAnthropicProvider (config , bifrost .logger ), nil
12591270 case schemas .Bedrock :
1260- return providers .NewBedrockProvider (config , bifrost .logger )
1271+ return bedrock .NewBedrockProvider (config , bifrost .logger )
12611272 case schemas .Cohere :
1262- return providers .NewCohereProvider (config , bifrost .logger ), nil
1273+ return cohere .NewCohereProvider (config , bifrost .logger )
12631274 case schemas .Azure :
1264- return providers .NewAzureProvider (config , bifrost .logger )
1275+ return azure .NewAzureProvider (config , bifrost .logger )
12651276 case schemas .Vertex :
1266- return providers .NewVertexProvider (config , bifrost .logger )
1277+ return vertex .NewVertexProvider (config , bifrost .logger )
12671278 case schemas .Mistral :
1268- return providers .NewMistralProvider (config , bifrost .logger ), nil
1279+ return mistral .NewMistralProvider (config , bifrost .logger ), nil
12691280 case schemas .Ollama :
12701281 return providers .NewOllamaProvider (config , bifrost .logger )
12711282 case schemas .Groq :
@@ -1277,7 +1288,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12771288 case schemas .Cerebras :
12781289 return providers .NewCerebrasProvider (config , bifrost .logger )
12791290 case schemas .Gemini :
1280- return providers .NewGeminiProvider (config , bifrost .logger ), nil
1291+ return gemini .NewGeminiProvider (config , bifrost .logger ), nil
12811292 case schemas .OpenRouter :
12821293 return providers .NewOpenRouterProvider (config , bifrost .logger ), nil
12831294 default :
0 commit comments