JLogger loglevel check on whether to call the actual logger or not. New factory metho...
[jalview.git] / src / jalview / log / JLogger.java
index 03b664a..7a6054e 100644 (file)
@@ -38,6 +38,16 @@ public abstract class JLogger implements JLoggerI
     }
   }
 
+  public static JLogger getLogger(Class c)
+  {
+    return getLogger(c);
+  }
+
+  public static JLogger getLogger(Class c, LogLevel loglevel)
+  {
+    return getLogger(c.getCanonicalName(), loglevel);
+  }
+
   public static JLogger getLogger(String name)
   {
     return getLogger(name, LogLevel.INFO);
@@ -87,15 +97,20 @@ public abstract class JLogger implements JLoggerI
       loggerSetLevel(level);
   }
 
-  private boolean println(LogLevel level, String message, Throwable t)
+  private boolean println(LogLevel loglevel, String message, Throwable t)
   {
+    if (loglevel.compareTo(this.level) < 0)
+    {
+      return false;
+    }
     if (!loggerExists() || Platform.isJS())
     {
-      String logLine = String.format("%s: %s", level.toString(), message);
+      String logLine = String.format("%s: %s", loglevel.toString(),
+              message);
       System.out.println(logLine);
       if (t != null)
       {
-        if (level.compareTo(LogLevel.DEBUG) <= 0)
+        if (loglevel.compareTo(LogLevel.DEBUG) <= 0)
           t.printStackTrace(System.err);
         else
           System.err.println(t.getMessage());
@@ -104,7 +119,7 @@ public abstract class JLogger implements JLoggerI
     }
     else
     {
-      loggerLogMessage(level, message, t);
+      loggerLogMessage(loglevel, message, t);
       return true;
     }
   }