Redirect language server logs to file, for all language servers
This is because vscode/atom clients do not like verbose log output (JavaScript too slow compared to java?) and drop the connection to the server.
This commit is contained in:
@@ -23,7 +23,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguage
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
LaunguageServerApp.start("boot-java", () -> {
|
||||
LaunguageServerApp.start("boot-java-language-server", () -> {
|
||||
SimpleLanguageServer server = new BootJavaLanguageServer(
|
||||
BootJavaLanguageServerParams.createDefault()
|
||||
);
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp;
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
LaunguageServerApp.start("boot-properties",
|
||||
LaunguageServerApp.start("boot-properties-language-server",
|
||||
() -> new BootPropertiesLanguageServer(BootPropertiesLanguageServerParams.createDefault()));
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp;
|
||||
public class Main {
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
BoshCliConfig cliConfig = new BoshCliConfig();
|
||||
LaunguageServerApp.start("bosh", () -> new BoshLanguageServer(
|
||||
LaunguageServerApp.start("bosh-language-server", () -> new BoshLanguageServer(
|
||||
cliConfig,
|
||||
new BoshCommandCloudConfigProvider(cliConfig),
|
||||
new BoshCommandStemcellsProvider(cliConfig),
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
package org.springframework.ide.vscode.commons.languageserver;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
@@ -62,6 +63,14 @@ public abstract class LaunguageServerApp {
|
||||
|
||||
public static void start(String name, Provider<SimpleLanguageServer> languageServerFactory) throws IOException, InterruptedException {
|
||||
System.setProperty(STS4_LANGUAGESERVER_NAME, name); //makes it easy to recognize language server processes.
|
||||
File logfile = null;
|
||||
if (System.getProperty("org.slf4j.simpleLogger.logFile") == null) {
|
||||
logfile = File.createTempFile(name, ".log");
|
||||
System.setProperty("org.slf4j.simpleLogger.logFile", logfile.toString());
|
||||
} else {
|
||||
logfile = new File(System.getProperty("org.slf4j.simpleLogger.logFile"));
|
||||
}
|
||||
System.err.println("Redirecting log output to: "+logfile);
|
||||
LaunguageServerApp app = new LaunguageServerApp() {
|
||||
@Override
|
||||
protected SimpleLanguageServer createServer() {
|
||||
|
||||
@@ -20,6 +20,6 @@ public class Main {
|
||||
private static final YamlCompletionEngineOptions OPTIONS = YamlCompletionEngineOptions.DEFAULT;
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
LaunguageServerApp.start("concourse", () -> new ConcourseLanguageServer(OPTIONS));
|
||||
LaunguageServerApp.start("concourse-language-server", () -> new ConcourseLanguageServer(OPTIONS));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,15 +20,7 @@ public class Main {
|
||||
SimpleLanguageServer server = new ManifestYamlLanguageServer();
|
||||
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
File logfile = null;
|
||||
if (System.getProperty("org.slf4j.simpleLogger.logFile") == null) {
|
||||
logfile = File.createTempFile("manifest-yaml-language-server", ".log");
|
||||
System.setProperty("org.slf4j.simpleLogger.logFile", logfile.toString());
|
||||
} else {
|
||||
logfile = new File(System.getProperty("org.slf4j.simpleLogger.logFile"));
|
||||
}
|
||||
System.err.println("Redirecting log output to: "+logfile);
|
||||
LaunguageServerApp.start("cloudfoundry", ManifestYamlLanguageServer::new);
|
||||
LaunguageServerApp.start("manifest-yaml-language-server", ManifestYamlLanguageServer::new);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user