Extra logging to debug unexpected start/stop sequence
This commit is contained in:
@@ -21,6 +21,7 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.Assert;
|
||||
@@ -132,6 +133,8 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
BootLanguageServerPlugin.getDefault().getLog().info("DelegatingStreamConnectionProvider - Stopping Boot LS");
|
||||
BootLanguageServerPlugin.getDefault().getLog().info("DelegatingStreamConnectionProvider: \n" + Arrays.stream(Thread.currentThread().getStackTrace()).map(se -> se.toString()).collect(Collectors.joining("\n")));
|
||||
this.provider.stop();
|
||||
if (fResourceListener != null) {
|
||||
ResourcesPlugin.getWorkspace().removeResourceChangeListener(fResourceListener);
|
||||
|
||||
@@ -16,9 +16,12 @@ import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.springframework.tooling.ls.eclipse.commons.JRE;
|
||||
import org.springframework.tooling.ls.eclipse.commons.JRE.MissingJDKException;
|
||||
import org.springframework.tooling.ls.eclipse.commons.LanguageServerCommonsActivator;
|
||||
import org.springframework.tooling.ls.eclipse.commons.STS4LanguageServerProcessStreamConnector;
|
||||
import org.springframework.tooling.ls.eclipse.commons.preferences.LanguageServerConsolePreferenceConstants;
|
||||
|
||||
/**
|
||||
* @author Martin Lippert
|
||||
@@ -48,6 +51,14 @@ public class SpringBootLanguageServer extends STS4LanguageServerProcessStreamCon
|
||||
args.add("-XX:+HeapDumpOnOutOfMemoryError");
|
||||
args.add("-XX:TieredStopAtLevel=1");
|
||||
|
||||
if (!LanguageServerCommonsActivator.getInstance().getPreferenceStore().getBoolean(LanguageServerConsolePreferenceConstants.PREF_BOOT_JAVA_CONSOLE_ENABLED)) {
|
||||
IPath logFile = BootLanguageServerPlugin.getDefault().getStateLocation().addTrailingSeparator().append("boot-ls-" + System.currentTimeMillis() + ".log");
|
||||
args.add("-Dsts.log.file=" + logFile.toFile().getPath());
|
||||
}
|
||||
|
||||
IPath fatalErrorFile = BootLanguageServerPlugin.getDefault().getStateLocation().addTrailingSeparator().append("fatal-eror-boot-ls-" + System.currentTimeMillis() + ".log");
|
||||
args.add("-XX:ErrorFile=" + fatalErrorFile.toFile().getPath());
|
||||
|
||||
addCustomJVMArgs(args);
|
||||
|
||||
return args;
|
||||
|
||||
@@ -33,12 +33,13 @@ public class Startup implements IStartup {
|
||||
new BootProjectTracker(Logger.forEclipsePlugin(() -> BootLanguageServerPlugin.getDefault()),
|
||||
List.of(springProjects -> {
|
||||
if (!started && !springProjects.isEmpty()) {
|
||||
|
||||
BootLanguageServerPlugin.getDefault().getLog().info("Starting Boot LS...");
|
||||
LanguageServerDefinition serverDefinition = LanguageServersRegistry.getInstance()
|
||||
.getDefinition(BOOT_LS_DEFINITION_ID);
|
||||
|
||||
try {
|
||||
LanguageServiceAccessor.startLanguageServer(serverDefinition);
|
||||
BootLanguageServerPlugin.getDefault().getLog().info("Started Boot LS process");
|
||||
started = true;
|
||||
} catch (IOException e1) {
|
||||
BootLanguageServerPlugin.getDefault().getLog().error("Failed to launch Boot Language Server", e1);
|
||||
|
||||
Reference in New Issue
Block a user