]> source.dussan.org Git - sonarqube.git/commitdiff
Add the possibility to log a WARN message with an exception
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 21 Oct 2015 07:17:48 +0000 (09:17 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 21 Oct 2015 16:45:43 +0000 (18:45 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/utils/log/BaseLogger.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/log/Logger.java
sonar-plugin-api/src/test/java/org/sonar/api/utils/log/ConsoleLoggerTest.java

index b038925176a56a1e3675050df90b53aa22fc4426..3c19cc5c673465acb57e01f90c2e93b7f41b9a7e 100644 (file)
@@ -100,6 +100,12 @@ abstract class BaseLogger implements Logger {
     doWarn(msg);
   }
 
+  @Override
+  public void warn(String msg, Throwable throwable) {
+    LogInterceptors.get().log(LoggerLevel.WARN, msg, throwable);
+    doWarn(msg);
+  }
+
   @Override
   public void warn(String msg, @Nullable Object arg) {
     LogInterceptors.get().log(LoggerLevel.WARN, msg, arg);
index 4d5c3470f584eed356dc0bcdfb28f431bdfa4c5a..d0a48696ba89123317a1016a76f29e908e45ecf9 100644 (file)
@@ -167,6 +167,11 @@ public interface Logger {
    */
   void warn(String msg);
 
+  /**
+   * Logs an exception at the WARN level with an accompanying message.
+   */
+  void warn(String msg, Throwable throwable);
+
   /**
    * Logs a WARN parameterized message according to the specified format and argument. Example:
    * <code>warn("Value is {}", value)</code>
index 7e4d74c684c393ec152e7d84e77c8bcdf2b9f6b7..920f73e49481f968b7bc21033d42e64aab52a9cc 100644 (file)
  */
 package org.sonar.api.utils.log;
 
+import java.io.PrintStream;
 import org.junit.Rule;
 import org.junit.Test;
 
-import java.io.PrintStream;
-
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.startsWith;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
 
 public class ConsoleLoggerTest {
 
@@ -94,7 +98,8 @@ public class ConsoleLoggerTest {
     underTest.warn("message {}", "foo");
     underTest.warn("message {} {}", "foo", "bar");
     underTest.warn("message {} {} {}", "foo", "bar", "baz");
-    verify(stream, times(4)).println(startsWith("WARN "));
+    underTest.warn("message", new IllegalArgumentException());
+    verify(stream, times(5)).println(startsWith("WARN "));
 
     underTest.error("message");
     underTest.error("message {}", "foo");