Logging to track classpath listener add/remove issues

This commit is contained in:
aboyko
2023-04-11 13:22:38 -04:00
parent 0c06718dbf
commit d03ac9192b
2 changed files with 13 additions and 15 deletions

View File

@@ -109,7 +109,7 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
public void addListener(Listener listener) {
synchronized (listeners) {
listeners.add(listener);
log.info("added listener - now listeners registered: " + listeners.size());
log.debug("added listener - now listeners registered: " + listeners.size());
}
}
@@ -117,7 +117,7 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
public void removeListener(Listener listener) {
synchronized (listeners) {
listeners.remove(listener);
log.info("removed listener - now listeners registered: " + listeners.size());
log.debug("removed listener - now listeners registered: " + listeners.size());
}
}
@@ -125,14 +125,14 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
logEvent("Created", newProject);
synchronized (listeners) {
log.info("listeners registered: " + listeners.size());
log.debug("listeners registered: " + listeners.size());
for (Listener listener : listeners) {
try {
listener.created(newProject);
}
catch (Exception e) {
log.info("listener caused exception: " + e);
log.debug("listener caused exception: " + e);
}
}
}
@@ -170,8 +170,8 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
private void logEvent(String type, IJavaProject project) {
try {
log.info("Project {}: {}", type, project.getLocationUri());
log.info("Classpath has {} entries", project.getClasspath().getClasspathEntries().size());
log.debug("Project {}: {}", type, project.getLocationUri());
log.debug("Classpath has {} entries", project.getClasspath().getClasspathEntries().size());
if (log.isDebugEnabled()) {
//Avoid expensive call to countSourceAttachements if possible.
log.debug("Classpath has {} source attachements", countSourceAttachments(project.getClasspath().getClasspathEntries()));
@@ -258,21 +258,22 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
@Override
public Mono<Disposable> initialize() {
return Mono.defer(() -> {
log.debug("ADD CLASSPATH LISTENER enableClasspath=" + initialClasspathLisetnerEnable);
log.info("INIT CLASSPATH LISTENER enableClasspath=" + initialClasspathLisetnerEnable);
enableClasspathListener(initialClasspathLisetnerEnable);
return Mono.just(DISPOSABLE);
});
}
private synchronized void enableClasspathListener(boolean enabled) {
log.info("Enable classpath listener enabled = " + enabled + " current enablement = " + classpathListenerEnabled);
if (classpathListenerEnabled != enabled) {
if (enabled) {
log.debug("Adding classpath listener enabled=" + enabled);
log.info("Adding classpath listener enabled=" + enabled);
classpathListenerEnabled = true;
notifyProjectObserverSupported();
classpathListenerRequest = server.addClasspathListener(CLASSPATH_LISTENER).timeout(INITIALIZE_TIMEOUT)
.doOnSubscribe(x -> log.info("addClasspathListener ..."))
.doOnSuccess(x -> log.info("addClasspathListener DONE"))
.doOnSubscribe(x -> log.debug("addClasspathListener ..."))
.doOnSuccess(x -> log.debug("addClasspathListener DONE"))
.doOnError(t -> {
log.error("Unexpected error registering classpath listener with JDT.", t);
enableClasspathListener(false);
@@ -286,7 +287,7 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
}
});
} else {
log.debug("Removing classpath listener enabled=" + enabled);
log.info("Removing classpath listener enabled=" + enabled);
DISPOSABLE.update(Disposables.single());
classpathListenerRequest = null;
classpathListenerEnabled = false;
@@ -312,10 +313,9 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
if (!supported) {
throw new IllegalStateException("Classpath listening not supported.");
} else {
log.debug("CLASSPATH ENABLED CMD EXEC");
if (params.getArguments().get(0) instanceof JsonPrimitive) {
boolean classpathListeningEnabled = ((JsonPrimitive)params.getArguments().get(0)).getAsBoolean();
log.debug("CMD - Enable classpath listening: " + classpathListeningEnabled);
log.info("CMD - Enable classpath listening: " + classpathListeningEnabled);
enableClasspathListener(classpathListeningEnabled);
}
}
@@ -342,7 +342,6 @@ public class JdtLsProjectCache implements InitializableJavaProjectsService, Serv
public void changed(Event event) {
log.debug("claspath event received {}", event);
server.doOnInitialized(() -> {
//log.info("initialized.thenRun block entered");
try {
synchronized (table) {
String uri = UriUtil.normalize(event.projectUri);

View File

@@ -8,7 +8,6 @@ languageserver.completion-trigger-characters.spring-boot-properties: abcdefghijk
spring.main.banner-mode: off
logging.level.org.springframework.ide.vscode.boot.java.livehover.v2.SpringProcessCommandHandler=error
logging.level.org.springframework.ide.vscode.boot.jdt.ls.JdtLsProjectCache=error
#logging.level.org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer=debug
#logging.level.org.springframework.ide.vscode.boot.java.utils.SpringIndexerJava=debug