From 63fa05091da8b413e8fba576f8bf28152190f38a Mon Sep 17 00:00:00 2001 From: Alex Hoppen Date: Tue, 21 Jan 2025 11:51:52 -0800 Subject: [PATCH] Log the request methods when logging a request's reply This should make it easier to find a request response when searching for the response method. --- .../LanguageServerProtocolExtensions/LocalConnection.swift | 2 ++ .../QueueBasedMessageHandler.swift | 4 ++-- Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Sources/LanguageServerProtocolExtensions/LocalConnection.swift b/Sources/LanguageServerProtocolExtensions/LocalConnection.swift index cbe8460f..2bda5b65 100644 --- a/Sources/LanguageServerProtocolExtensions/LocalConnection.swift +++ b/Sources/LanguageServerProtocolExtensions/LocalConnection.swift @@ -138,6 +138,7 @@ package final class LocalConnection: Connection, Sendable { logger.info( """ Received reply for request \(id, privacy: .public) from \(self.name, privacy: .public) + \(Request.method, privacy: .public) \(response.forLogging) """ ) @@ -145,6 +146,7 @@ package final class LocalConnection: Connection, Sendable { logger.error( """ Received error for request \(id, privacy: .public) from \(self.name, privacy: .public) + \(Request.method, privacy: .public) \(error.forLogging) """ ) diff --git a/Sources/LanguageServerProtocolExtensions/QueueBasedMessageHandler.swift b/Sources/LanguageServerProtocolExtensions/QueueBasedMessageHandler.swift index 4be7b9c6..13c41cc0 100644 --- a/Sources/LanguageServerProtocolExtensions/QueueBasedMessageHandler.swift +++ b/Sources/LanguageServerProtocolExtensions/QueueBasedMessageHandler.swift @@ -192,7 +192,7 @@ extension QueueBasedMessageHandler { ) .makeSignposter() let signpostID = signposter.makeSignpostID() - let state = signposter.beginInterval("Notification", id: signpostID, "\(type(of: notification))") + let state = signposter.beginInterval("Notification", id: signpostID, "\(type(of: notification).method)") messageHandlingQueue.async(metadata: DependencyTracker(notification)) { signposter.emitEvent("Start handling", id: signpostID) await self.handle(notification: notification) @@ -209,7 +209,7 @@ extension QueueBasedMessageHandler { let signposter = Logger(subsystem: LoggingScope.subsystem, category: messageHandlingHelper.signpostLoggingCategory) .makeSignposter() let signpostID = signposter.makeSignpostID() - let state = signposter.beginInterval("Request", id: signpostID, "\(Request.self)") + let state = signposter.beginInterval("Request", id: signpostID, "\(Request.method)") self.didReceive(request: request, id: id) diff --git a/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift b/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift index 4e99cef0..1b6ea254 100644 --- a/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift +++ b/Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift @@ -708,6 +708,7 @@ public final class JSONRPCConnection: Connection { logger.info( """ Received reply for request \(id, privacy: .public) from \(self.name, privacy: .public) + \(Request.method, privacy: .public) \(response.forLogging) """ ) @@ -715,6 +716,7 @@ public final class JSONRPCConnection: Connection { logger.error( """ Received error for request \(id, privacy: .public) from \(self.name, privacy: .public) + \(Request.method, privacy: .public) \(error.forLogging) """ )