@@ -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
@@ -83,13 +92,20 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
8392 return nil , fmt .Errorf ("account is required to initialize Bifrost" )
8493 }
8594
95+ if config .Logger == nil {
96+ config .Logger = NewDefaultLogger (schemas .LogLevelInfo )
97+ }
98+
99+ providerUtils .SetLogger (config .Logger )
100+
86101 bifrost := & Bifrost {
87102 ctx : ctx ,
88103 account : config .Account ,
89104 plugins : atomic.Pointer [[]schemas.Plugin ]{},
90105 requestQueues : sync.Map {},
91106 waitGroups : sync.Map {},
92107 keySelector : config .KeySelector ,
108+ logger : config .Logger ,
93109 }
94110 bifrost .plugins .Store (& config .Plugins )
95111
@@ -155,11 +171,6 @@ func Init(ctx context.Context, config schemas.BifrostConfig) (*Bifrost, error) {
155171 return nil , err
156172 }
157173
158- if config .Logger == nil {
159- config .Logger = NewDefaultLogger (schemas .LogLevelInfo )
160- }
161- bifrost .logger = config .Logger
162-
163174 // Initialize MCP manager if configured
164175 if config .MCPConfig != nil {
165176 mcpManager , err := newMCPManager (ctx , * config .MCPConfig , bifrost .logger )
@@ -1156,19 +1167,19 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11561167
11571168 switch targetProviderKey {
11581169 case schemas .OpenAI :
1159- return providers .NewOpenAIProvider (config , bifrost .logger ), nil
1170+ return openai .NewOpenAIProvider (config , bifrost .logger ), nil
11601171 case schemas .Anthropic :
1161- return providers .NewAnthropicProvider (config , bifrost .logger ), nil
1172+ return anthropic .NewAnthropicProvider (config , bifrost .logger ), nil
11621173 case schemas .Bedrock :
1163- return providers .NewBedrockProvider (config , bifrost .logger )
1174+ return bedrock .NewBedrockProvider (config , bifrost .logger )
11641175 case schemas .Cohere :
1165- return providers .NewCohereProvider (config , bifrost .logger ), nil
1176+ return cohere .NewCohereProvider (config , bifrost .logger )
11661177 case schemas .Azure :
1167- return providers .NewAzureProvider (config , bifrost .logger )
1178+ return azure .NewAzureProvider (config , bifrost .logger )
11681179 case schemas .Vertex :
1169- return providers .NewVertexProvider (config , bifrost .logger )
1180+ return vertex .NewVertexProvider (config , bifrost .logger )
11701181 case schemas .Mistral :
1171- return providers .NewMistralProvider (config , bifrost .logger ), nil
1182+ return mistral .NewMistralProvider (config , bifrost .logger ), nil
11721183 case schemas .Ollama :
11731184 return providers .NewOllamaProvider (config , bifrost .logger )
11741185 case schemas .Groq :
@@ -1180,7 +1191,7 @@ func (bifrost *Bifrost) createBaseProvider(providerKey schemas.ModelProvider, co
11801191 case schemas .Cerebras :
11811192 return providers .NewCerebrasProvider (config , bifrost .logger )
11821193 case schemas .Gemini :
1183- return providers .NewGeminiProvider (config , bifrost .logger ), nil
1194+ return gemini .NewGeminiProvider (config , bifrost .logger ), nil
11841195 case schemas .OpenRouter :
11851196 return providers .NewOpenRouterProvider (config , bifrost .logger ), nil
11861197 default :
0 commit comments