88 "context"
99 "encoding/json"
1010 "fmt"
11- "log/slog"
1211 "sync"
1312
1413 "github.com/linuxfoundation/lfx-mcp/internal/lfxv2"
@@ -54,18 +53,21 @@ type ProjectSummary struct {
5453
5554// handleGetProjectSummary returns a rolled-up complexity fact sheet for a project.
5655func handleGetProjectSummary (ctx context.Context , req * mcp.CallToolRequest , args GetProjectSummaryArgs ) (* mcp.CallToolResult , any , error ) {
57- logger := slog . New ( mcp . NewLoggingHandler ( req . Session , nil ) )
56+ logger := newToolLogger ( ctx , req )
5857
5958 if projectConfig == nil {
59+ logger .ErrorContext (ctx , "project tools not configured" )
6060 return errorResult ("project tools not configured" ), nil , nil
6161 }
6262
6363 if args .UID == "" {
64+ logger .ErrorContext (ctx , "uid is required" )
6465 return errorResult ("uid is required" ), nil , nil
6566 }
6667
6768 mcpToken , err := lfxv2 .ExtractMCPToken (req .Extra .TokenInfo )
6869 if err != nil {
70+ logger .ErrorContext (ctx , "failed to extract MCP token" , "error" , err )
6971 return errorResult (fmt .Sprintf ("failed to extract MCP token: %v" , err )), nil , nil
7072 }
7173
@@ -103,7 +105,7 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
103105 Version : version , Type : & childType , Parent : & parent ,
104106 })
105107 if err != nil {
106- logger .Warn ( "failed to count child projects" , "error" , err . Error () )
108+ logger .WarnContext ( ctx , "failed to count child projects" , "error" , err )
107109 addWarning ("child_project_count unavailable: " + err .Error ())
108110 return
109111 }
@@ -118,7 +120,7 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
118120 Version : version , Type : & commType , Parent : & parent ,
119121 })
120122 if err != nil {
121- logger .Warn ( "failed to count committees" , "error" , err . Error () )
123+ logger .WarnContext ( ctx , "failed to count committees" , "error" , err )
122124 addWarning ("committee_count unavailable: " + err .Error ())
123125 return
124126 }
@@ -134,7 +136,7 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
134136 Filters : []string {"category:Working Group" },
135137 })
136138 if err != nil {
137- logger .Warn ( "failed to count working groups" , "error" , err . Error () )
139+ logger .WarnContext ( ctx , "failed to count working groups" , "error" , err )
138140 addWarning ("working_group_count unavailable: " + err .Error ())
139141 return
140142 }
@@ -149,7 +151,7 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
149151 Version : version , Type : & mtgType , Parent : & parent ,
150152 })
151153 if err != nil {
152- logger .Warn ( "failed to count meetings" , "error" , err . Error () )
154+ logger .WarnContext ( ctx , "failed to count meetings" , "error" , err )
153155 addWarning ("meeting_count unavailable: " + err .Error ())
154156 return
155157 }
@@ -165,7 +167,8 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
165167 UID : & args .UID ,
166168 })
167169 if err != nil {
168- return errorResult (fmt .Sprintf ("failed to get project: %s" , err .Error ())), nil , nil
170+ logger .ErrorContext (ctx , "GetOneProjectBase failed" , "error" , err , "uid" , args .UID )
171+ return errorResult (friendlyAPIError ("failed to get project" , err )), nil , nil
169172 }
170173
171174 p := baseResult .Project
@@ -197,10 +200,11 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
197200
198201 prettyJSON , err := json .MarshalIndent (dims , "" , " " )
199202 if err != nil {
203+ logger .ErrorContext (ctx , "failed to marshal project summary" , "error" , err , "uid" , args .UID )
200204 return errorResult (fmt .Sprintf ("failed to format result: %v" , err )), nil , nil
201205 }
202206
203- logger .Info ( "get_project_summary succeeded" , "uid" , args .UID )
207+ logger .InfoContext ( ctx , "get_project_summary succeeded" , "uid" , args .UID )
204208
205209 return & mcp.CallToolResult {
206210 Content : []mcp.Content {
@@ -209,4 +213,3 @@ func handleGetProjectSummary(ctx context.Context, req *mcp.CallToolRequest, args
209213 }, nil , nil
210214}
211215
212-
0 commit comments