@@ -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 )
@@ -1168,19 +1179,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11681179
11691180 switch targetProviderKey {
11701181 case schemas .OpenAI :
1171- return providers .NewOpenAIProvider (config , bifrost .logger ), nil
1182+ return openai .NewOpenAIProvider (config , bifrost .logger ), nil
11721183 case schemas .Anthropic :
1173- return providers .NewAnthropicProvider (config , bifrost .logger ), nil
1184+ return anthropic .NewAnthropicProvider (config , bifrost .logger ), nil
11741185 case schemas .Bedrock :
1175- return providers .NewBedrockProvider (config , bifrost .logger )
1186+ return bedrock .NewBedrockProvider (config , bifrost .logger )
11761187 case schemas .Cohere :
1177- return providers .NewCohereProvider (config , bifrost .logger ), nil
1188+ return cohere .NewCohereProvider (config , bifrost .logger )
11781189 case schemas .Azure :
1179- return providers .NewAzureProvider (config , bifrost .logger )
1190+ return azure .NewAzureProvider (config , bifrost .logger )
11801191 case schemas .Vertex :
1181- return providers .NewVertexProvider (config , bifrost .logger )
1192+ return vertex .NewVertexProvider (config , bifrost .logger )
11821193 case schemas .Mistral :
1183- return providers .NewMistralProvider (config , bifrost .logger ), nil
1194+ return mistral .NewMistralProvider (config , bifrost .logger ), nil
11841195 case schemas .Ollama :
11851196 return providers .NewOllamaProvider (config , bifrost .logger )
11861197 case schemas .Groq :
@@ -1192,7 +1203,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11921203 case schemas .Cerebras :
11931204 return providers .NewCerebrasProvider (config , bifrost .logger )
11941205 case schemas .Gemini :
1195- return providers .NewGeminiProvider (config , bifrost .logger ), nil
1206+ return gemini .NewGeminiProvider (config , bifrost .logger ), nil
11961207 case schemas .OpenRouter :
11971208 return providers .NewOpenRouterProvider (config , bifrost .logger ), nil
11981209 default :
0 commit comments