Skip to content

Commit 8bdb1bc

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/manodnyb/addQuickActions' into samgst/q-lsp-tabAdd
2 parents 8558948 + 98a43b5 commit 8bdb1bc

File tree

1 file changed

+16
-0
lines changed
  • plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp

1 file changed

+16
-0
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLspService.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import org.eclipse.lsp4j.WorkspaceClientCapabilities
4242
import org.eclipse.lsp4j.jsonrpc.Launcher
4343
import org.eclipse.lsp4j.jsonrpc.Launcher.Builder
4444
import org.eclipse.lsp4j.jsonrpc.MessageConsumer
45+
import org.eclipse.lsp4j.jsonrpc.messages.Message
4546
import org.eclipse.lsp4j.jsonrpc.messages.ResponseMessage
4647
import org.slf4j.event.Level
4748
import software.aws.toolkits.core.utils.getLogger
@@ -275,15 +276,18 @@ private class AmazonQServerInstance(private val project: Project, private val cs
275276
launcherHandler.startNotify()
276277

277278
class AmazonQServerBuilder : Builder<AmazonQLanguageServer>() {
279+
private val customMessageTracer = MessageTracer()
278280

279281
override fun wrapMessageConsumer(consumer: MessageConsumer?): MessageConsumer =
280282
super.wrapMessageConsumer { message ->
283+
customMessageTracer.trace("INCOMING", message)
281284
if (message is ResponseMessage && message.result is AwsExtendedInitializeResult) {
282285
val result = message.result as AwsExtendedInitializeResult
283286
AwsServerCapabilitiesProvider.getInstance(project).setAwsServerCapabilities(result.getAwsServerCapabilities())
284287
AmazonQLspService.getInstance(project).notifyServerStarted()
285288
}
286289
consumer?.consume(message)
290+
customMessageTracer.trace("PROCESSED", message)
287291
}
288292
}
289293

@@ -371,6 +375,18 @@ private class AmazonQServerInstance(private val project: Project, private val cs
371375
}
372376
}
373377

378+
class MessageTracer {
379+
private val traceLogger = LOG.atLevel(if (isDeveloperMode()) Level.INFO else Level.DEBUG)
380+
381+
fun trace(direction: String, message: Message) {
382+
traceLogger.log {
383+
buildString {
384+
append("$direction: ")
385+
append(message.toString())
386+
}
387+
}
388+
}
389+
}
374390
companion object {
375391
private val LOG = getLogger<AmazonQServerInstance>()
376392
}

0 commit comments

Comments
 (0)