@@ -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 )
@@ -1227,19 +1238,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12271238
12281239 switch targetProviderKey {
12291240 case schemas .OpenAI :
1230- return providers .NewOpenAIProvider (config , bifrost .logger ), nil
1241+ return openai .NewOpenAIProvider (config , bifrost .logger ), nil
12311242 case schemas .Anthropic :
1232- return providers .NewAnthropicProvider (config , bifrost .logger ), nil
1243+ return anthropic .NewAnthropicProvider (config , bifrost .logger ), nil
12331244 case schemas .Bedrock :
1234- return providers .NewBedrockProvider (config , bifrost .logger )
1245+ return bedrock .NewBedrockProvider (config , bifrost .logger )
12351246 case schemas .Cohere :
1236- return providers .NewCohereProvider (config , bifrost .logger ), nil
1247+ return cohere .NewCohereProvider (config , bifrost .logger )
12371248 case schemas .Azure :
1238- return providers .NewAzureProvider (config , bifrost .logger )
1249+ return azure .NewAzureProvider (config , bifrost .logger )
12391250 case schemas .Vertex :
1240- return providers .NewVertexProvider (config , bifrost .logger )
1251+ return vertex .NewVertexProvider (config , bifrost .logger )
12411252 case schemas .Mistral :
1242- return providers .NewMistralProvider (config , bifrost .logger ), nil
1253+ return mistral .NewMistralProvider (config , bifrost .logger ), nil
12431254 case schemas .Ollama :
12441255 return providers .NewOllamaProvider (config , bifrost .logger )
12451256 case schemas .Groq :
@@ -1251,7 +1262,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
12511262 case schemas .Cerebras :
12521263 return providers .NewCerebrasProvider (config , bifrost .logger )
12531264 case schemas .Gemini :
1254- return providers .NewGeminiProvider (config , bifrost .logger ), nil
1265+ return gemini .NewGeminiProvider (config , bifrost .logger ), nil
12551266 case schemas .OpenRouter :
12561267 return providers .NewOpenRouterProvider (config , bifrost .logger ), nil
12571268 default :
0 commit comments