@@ -13,8 +13,7 @@ import (
1313 "github.com/github/github-mcp-server/pkg/inventory"
1414 "github.com/github/github-mcp-server/pkg/lockdown"
1515 "github.com/github/github-mcp-server/pkg/observability"
16- obsvLog "github.com/github/github-mcp-server/pkg/observability/log"
17- obsvMetrics "github.com/github/github-mcp-server/pkg/observability/metrics"
16+ "github.com/github/github-mcp-server/pkg/observability/metrics"
1817 "github.com/github/github-mcp-server/pkg/raw"
1918 "github.com/github/github-mcp-server/pkg/scopes"
2019 "github.com/github/github-mcp-server/pkg/translations"
@@ -99,11 +98,13 @@ type ToolDependencies interface {
9998 // IsFeatureEnabled checks if a feature flag is enabled.
10099 IsFeatureEnabled (ctx context.Context , flagName string ) bool
101100
102- // Logger returns the logger
103- Logger (ctx context.Context ) obsvLog.Logger
101+ // Logger returns the structured logger, optionally enriched with
102+ // request-scoped data from ctx. Integrators provide their own slog.Handler
103+ // to control where logs are sent.
104+ Logger (ctx context.Context ) * slog.Logger
104105
105106 // Metrics returns the metrics client
106- Metrics (ctx context.Context ) obsvMetrics .Metrics
107+ Metrics (ctx context.Context ) metrics .Metrics
107108}
108109
109110// BaseDeps is the standard implementation of ToolDependencies for the local server.
@@ -141,14 +142,8 @@ func NewBaseDeps(
141142 flags FeatureFlags ,
142143 contentWindowSize int ,
143144 featureChecker inventory.FeatureFlagChecker ,
144- logger * slog. Logger ,
145+ obsv observability. Exporters ,
145146) * BaseDeps {
146- var obsv observability.Exporters
147- if logger != nil {
148- obsv = observability .NewExporters (obsvLog .NewSlogLogger (logger , obsvLog .InfoLevel ), obsvMetrics .NewNoopMetrics ())
149- } else {
150- obsv = observability .NewExporters (obsvLog .NewNoopLogger (), obsvMetrics .NewNoopMetrics ())
151- }
152147 return & BaseDeps {
153148 Client : client ,
154149 GQLClient : gqlClient ,
@@ -192,15 +187,15 @@ func (d BaseDeps) GetFlags(_ context.Context) FeatureFlags { return d.Flags }
192187func (d BaseDeps ) GetContentWindowSize () int { return d .ContentWindowSize }
193188
194189// Logger implements ToolDependencies.
195- func (d BaseDeps ) Logger (ctx context.Context ) obsvLog .Logger {
190+ func (d BaseDeps ) Logger (_ context.Context ) * slog .Logger {
196191 if d .Obsv == nil {
197192 return nil
198193 }
199- return d .Obsv .Logger (ctx )
194+ return d .Obsv .Logger ()
200195}
201196
202197// Metrics implements ToolDependencies.
203- func (d BaseDeps ) Metrics (ctx context.Context ) obsvMetrics .Metrics {
198+ func (d BaseDeps ) Metrics (ctx context.Context ) metrics .Metrics {
204199 if d .Obsv == nil {
205200 return nil
206201 }
@@ -298,14 +293,8 @@ func NewRequestDeps(
298293 t translations.TranslationHelperFunc ,
299294 contentWindowSize int ,
300295 featureChecker inventory.FeatureFlagChecker ,
301- logger * slog. Logger ,
296+ obsv observability. Exporters ,
302297) * RequestDeps {
303- var obsv observability.Exporters
304- if logger != nil {
305- obsv = observability .NewExporters (obsvLog .NewSlogLogger (logger , obsvLog .InfoLevel ), obsvMetrics .NewNoopMetrics ())
306- } else {
307- obsv = observability .NewExporters (obsvLog .NewNoopLogger (), obsvMetrics .NewNoopMetrics ())
308- }
309298 return & RequestDeps {
310299 apiHosts : apiHosts ,
311300 version : version ,
@@ -423,12 +412,12 @@ func (d *RequestDeps) GetFlags(ctx context.Context) FeatureFlags {
423412func (d * RequestDeps ) GetContentWindowSize () int { return d .ContentWindowSize }
424413
425414// Logger implements ToolDependencies.
426- func (d * RequestDeps ) Logger (ctx context.Context ) obsvLog .Logger {
427- return d .obsv .Logger (ctx )
415+ func (d * RequestDeps ) Logger (_ context.Context ) * slog .Logger {
416+ return d .obsv .Logger ()
428417}
429418
430419// Metrics implements ToolDependencies.
431- func (d * RequestDeps ) Metrics (ctx context.Context ) obsvMetrics .Metrics {
420+ func (d * RequestDeps ) Metrics (ctx context.Context ) metrics .Metrics {
432421 return d .obsv .Metrics (ctx )
433422}
434423
0 commit comments