JAL-629 Method to use for printStackTrace
[jalview.git] / src / jalview / bin / Console.java
index a382ac7..a280e88 100644 (file)
@@ -43,7 +43,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
       t.printStackTrace();
     }
 
@@ -57,7 +57,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
     }
 
   }
@@ -70,7 +70,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
       t.printStackTrace();
     }
   }
@@ -83,7 +83,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
     }
 
   }
@@ -96,7 +96,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
       t.printStackTrace();
     }
 
@@ -110,7 +110,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
     }
 
   }
@@ -123,7 +123,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
     }
   }
 
@@ -135,7 +135,7 @@ public class Console
     }
     else
     {
-      System.out.println(message);
+      outputMessage(message);
       t.printStackTrace();
     }
 
@@ -220,6 +220,11 @@ public class Console
     return JLogger.toLevel(level);
   }
 
+  public static JLogger getLogger()
+  {
+    return log;
+  }
+
   public static boolean initLogger()
   {
     return initLogger(null);
@@ -236,14 +241,17 @@ public class Console
       JLogger.LogLevel logLevel = JLogger.LogLevel.INFO;
 
       if (JLogger.isLevel(providedLogLevel))
+      {
         logLevel = Console.getLogLevel(providedLogLevel);
+      }
       else
+      {
         logLevel = getCachedLogLevel();
+      }
 
       if (!Platform.isJS())
       {
-        if (Jalview.getInstance() == null || (Jalview.getInstance() != null
-                && !Jalview.getInstance().quiet()))
+        if (!Jalview.quiet())
         {
           System.err.println(
                   "Setting initial log level to " + logLevel.name());
@@ -298,6 +306,27 @@ public class Console
     }
   }
 
+  public static void outputMessage(String message)
+  {
+    // send message to stderr if output to stdout is expected
+    if (Jalview.getInstance() != null
+            && Jalview.getInstance().bootstrapArgs != null
+            && Jalview.getInstance().bootstrapArgs.outputToStdout())
+    {
+      System.err.println(message);
+    }
+    else
+    {
+      System.out.println(message);
+    }
+  }
+
+  public static void printStackTrace(Exception e)
+  {
+    // send message to stderr if output to stdout is expected
+    e.printStackTrace(System.err);
+  }
+
   public final static String LOGGING_TEST_MESSAGE = "Logging to STDERR";
 
 }