Second attempt to redirect log output to file
First attempt was flawed because some loggers can get instantiated before sysem property is set.
This commit is contained in:
@@ -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()
|
||||
);
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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<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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user