diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java index d1514f2d9..289654890 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LanguageServerRunner.java @@ -26,6 +26,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.function.Function; +import org.apache.commons.lang3.StringUtils; import org.eclipse.lsp4j.jsonrpc.Launcher; import org.eclipse.lsp4j.jsonrpc.MessageConsumer; import org.eclipse.lsp4j.services.LanguageClient; @@ -161,9 +162,27 @@ public class LanguageServerRunner implements CommandLineRunner { int serverPort = properties.getStandalonePort(); log.info("Starting LS as standlone server port = {}", serverPort); - Function wrapper = consumer -> { - MessageConsumer result = consumer; - return result; +// Function wrapper = consumer -> { +// MessageConsumer result = consumer; +// return result; +// }; + + Function wrapper = (MessageConsumer consumer) -> { + return (msg) -> { + try { + long beforeConsumingMessage = System.currentTimeMillis(); + + consumer.consume(msg); + + long afterConsumingMessage = System.currentTimeMillis(); + String shortMessage = StringUtils.left(msg.toString(), 140); + log.info("working on message took " + (afterConsumingMessage - beforeConsumingMessage) + "ms - message content: " + shortMessage); + + } catch (UnsupportedOperationException e) { + //log a warning and ignore. We are getting some messages from vsCode the server doesn't know about + log.warn("Unsupported message was ignored!", e); + } + }; }; Launcher launcher = createSocketLauncher(languageServer, STS4LanguageClient.class, @@ -221,7 +240,14 @@ public class LanguageServerRunner implements CommandLineRunner { Function wrapper = (MessageConsumer consumer) -> { return (msg) -> { try { + long beforeConsumingMessage = System.currentTimeMillis(); + consumer.consume(msg); + + long afterConsumingMessage = System.currentTimeMillis(); + String shortMessage = StringUtils.left(msg.toString(), 140); + log.info("working on message took " + (afterConsumingMessage - beforeConsumingMessage) + "ms - message content: " + shortMessage); + } catch (UnsupportedOperationException e) { //log a warning and ignore. We are getting some messages from vsCode the server doesn't know about log.warn("Unsupported message was ignored!", e);