]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10315 log the plugins loaded by compute engine
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 24 Jan 2018 12:37:04 +0000 (13:37 +0100)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Mon, 12 Feb 2018 15:44:07 +0000 (16:44 +0100)
server/sonar-ce/src/main/java/org/sonar/ce/container/CePluginRepository.java
server/sonar-ce/src/test/java/org/sonar/ce/container/CePluginRepositoryTest.java

index 968b030dc16f8e2bf2868984430e169173b069dc..b537c7721ceb529e703c5b9aa1ca856d6f10f36f 100644 (file)
@@ -29,6 +29,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.commons.io.FileUtils;
 import org.picocontainer.Startable;
 import org.sonar.api.Plugin;
+import org.sonar.api.utils.log.Logger;
 import org.sonar.api.utils.log.Loggers;
 import org.sonar.core.platform.PluginInfo;
 import org.sonar.core.platform.PluginLoader;
@@ -45,6 +46,7 @@ import static java.lang.String.format;
  */
 public class CePluginRepository implements PluginRepository, Startable {
 
+  private static final Logger LOGGER = Loggers.get(CePluginRepository.class);
   private static final String[] JAR_FILE_EXTENSIONS = new String[] {"jar"};
   private static final String NOT_STARTED_YET = "not started yet";
 
@@ -63,12 +65,13 @@ public class CePluginRepository implements PluginRepository, Startable {
 
   @Override
   public void start() {
-    Loggers.get(getClass()).info("Load plugins");
+    LOGGER.info("Load plugins");
     for (File file : listJarFiles(fs.getInstalledPluginsDir())) {
       PluginInfo info = PluginInfo.create(file);
       pluginInfosByKeys.put(info.getKey(), info);
     }
     pluginInstancesByKeys.putAll(loader.load(pluginInfosByKeys));
+    pluginInfosByKeys.values().forEach(p -> LOGGER.info("Loaded plugin {} [{}]", p.getName(), p.getKey()));
     started.set(true);
   }
 
index 9db4d275db80f92d7dd33cd68c148d6c98f53721..5d53e9f8af76f99506d4a993e43c39322a4c28d8 100644 (file)
@@ -30,6 +30,8 @@ import org.junit.rules.ExpectedException;
 import org.junit.rules.TemporaryFolder;
 import org.mockito.Mockito;
 import org.sonar.api.Plugin;
+import org.sonar.api.utils.log.LogTester;
+import org.sonar.api.utils.log.LoggerLevel;
 import org.sonar.core.platform.PluginInfo;
 import org.sonar.core.platform.PluginLoader;
 import org.sonar.server.platform.ServerFileSystem;
@@ -46,6 +48,9 @@ public class CePluginRepositoryTest {
   @Rule
   public ExpectedException expectedException = ExpectedException.none();
 
+  @Rule
+  public LogTester logTester = new LogTester();
+
   private ServerFileSystem fs = mock(ServerFileSystem.class, Mockito.RETURNS_DEEP_STUBS);
   private PluginLoader pluginLoader = new DumbPluginLoader();
   private CePluginRepository underTest = new CePluginRepository(fs, pluginLoader);
@@ -67,7 +72,7 @@ public class CePluginRepositoryTest {
   }
 
   @Test
-  public void load_plugins() throws Exception {
+  public void load_plugins() {
     String pluginKey = "test";
     when(fs.getInstalledPluginsDir()).thenReturn(new File("src/test/plugins/sonar-test-plugin/target"));
 
@@ -77,6 +82,7 @@ public class CePluginRepositoryTest {
     assertThat(underTest.getPluginInfo(pluginKey).getKey()).isEqualTo(pluginKey);
     assertThat(underTest.getPluginInstance(pluginKey)).isNotNull();
     assertThat(underTest.hasPlugin(pluginKey)).isTrue();
+    assertThat(logTester.logs(LoggerLevel.INFO)).contains("Loaded plugin Test Plugin [test]");
   }
 
   @Test