diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/Main.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/Main.java index 741ee1a12..e916c963a 100644 --- a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/Main.java +++ b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/Main.java @@ -14,6 +14,7 @@ import java.io.IOException; import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; +import org.springframework.ide.vscode.commons.util.Log; /** * Starts up Language Server process @@ -23,7 +24,9 @@ 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-language-server", () -> { + String serverName = "boot-java-language-server"; + Log.redirectToFile(serverName); + LaunguageServerApp.start(serverName, () -> { SimpleLanguageServer server = new BootJavaLanguageServer( BootJavaLanguageServerParams.createDefault() ); diff --git a/headless-services/boot-properties-language-server/src/main/java/org/springframework/ide/vscode/boot/Main.java b/headless-services/boot-properties-language-server/src/main/java/org/springframework/ide/vscode/boot/Main.java index f0cac82e5..6c82ae8aa 100644 --- a/headless-services/boot-properties-language-server/src/main/java/org/springframework/ide/vscode/boot/Main.java +++ b/headless-services/boot-properties-language-server/src/main/java/org/springframework/ide/vscode/boot/Main.java @@ -13,6 +13,7 @@ package org.springframework.ide.vscode.boot; import java.io.IOException; import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; +import org.springframework.ide.vscode.commons.util.Log; /** * Starts up Language Server process @@ -24,7 +25,9 @@ import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; public class Main { public static void main(String[] args) throws IOException, InterruptedException { - LaunguageServerApp.start("boot-properties-language-server", + String serverName = "boot-properties-language-server"; + Log.redirectToFile(serverName); + LaunguageServerApp.start(serverName, () -> new BootPropertiesLanguageServer(BootPropertiesLanguageServerParams.createDefault())); } diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/Main.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/Main.java index 15fdee491..4629e5229 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/Main.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/Main.java @@ -16,11 +16,14 @@ import org.springframework.ide.vscode.bosh.models.BoshCommandCloudConfigProvider import org.springframework.ide.vscode.bosh.models.BoshCommandReleasesProvider; import org.springframework.ide.vscode.bosh.models.BoshCommandStemcellsProvider; import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; +import org.springframework.ide.vscode.commons.util.Log; public class Main { public static void main(String[] args) throws IOException, InterruptedException { + String serverName = "bosh-language-server"; + Log.redirectToFile(serverName); BoshCliConfig cliConfig = new BoshCliConfig(); - LaunguageServerApp.start("bosh-language-server", () -> new BoshLanguageServer( + LaunguageServerApp.start(serverName, () -> new BoshLanguageServer( cliConfig, new BoshCommandCloudConfigProvider(cliConfig), new BoshCommandStemcellsProvider(cliConfig), diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LaunguageServerApp.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LaunguageServerApp.java index 839e0cde3..759d77d70 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LaunguageServerApp.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/LaunguageServerApp.java @@ -11,7 +11,6 @@ package org.springframework.ide.vscode.commons.languageserver; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -63,14 +62,6 @@ public abstract class LaunguageServerApp { public static void start(String name, Provider 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() { diff --git a/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/Log.java b/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/Log.java index 75ccf5b1f..a5705585a 100644 --- a/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/Log.java +++ b/headless-services/commons/commons-util/src/main/java/org/springframework/ide/vscode/commons/util/Log.java @@ -11,6 +11,9 @@ package org.springframework.ide.vscode.commons.util; +import java.io.File; +import java.io.IOException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,4 +56,15 @@ public class Log { logger.warn(msg, e); } + public static void redirectToFile(String name) throws IOException { + 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); + } + } diff --git a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/Main.java b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/Main.java index 3284253c5..ef6fce397 100644 --- a/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/Main.java +++ b/headless-services/concourse-language-server/src/main/java/org/springframework/ide/vscode/concourse/Main.java @@ -14,12 +14,15 @@ package org.springframework.ide.vscode.concourse; import java.io.IOException; import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; +import org.springframework.ide.vscode.commons.util.Log; import org.springframework.ide.vscode.commons.yaml.completion.YamlCompletionEngineOptions; public class Main { private static final YamlCompletionEngineOptions OPTIONS = YamlCompletionEngineOptions.DEFAULT; public static void main(String[] args) throws IOException, InterruptedException { - LaunguageServerApp.start("concourse-language-server", () -> new ConcourseLanguageServer(OPTIONS)); + String serverName = "concourse-language-server"; + Log.redirectToFile(serverName); + LaunguageServerApp.start(serverName, () -> new ConcourseLanguageServer(OPTIONS)); } } diff --git a/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/Main.java b/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/Main.java index 5e9104ea1..228bf7263 100644 --- a/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/Main.java +++ b/headless-services/manifest-yaml-language-server/src/main/java/org/springframework/ide/vscode/manifest/yaml/Main.java @@ -10,17 +10,19 @@ *******************************************************************************/ package org.springframework.ide.vscode.manifest.yaml; -import java.io.File; import java.io.IOException; import org.springframework.ide.vscode.commons.languageserver.LaunguageServerApp; import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer; +import org.springframework.ide.vscode.commons.util.Log; public class Main { SimpleLanguageServer server = new ManifestYamlLanguageServer(); public static void main(String[] args) throws IOException, InterruptedException { - LaunguageServerApp.start("manifest-yaml-language-server", ManifestYamlLanguageServer::new); + String serverName = "manifest-yaml-language-server"; + Log.redirectToFile(serverName); + LaunguageServerApp.start(serverName, ManifestYamlLanguageServer::new); } }