X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FConsole.java;h=1b230eca871b91d51c54d661d5b87a399693a3a6;hb=ca160187a050f6d4e50158cd5b51f75c83a7179e;hp=b85a4d2da1280ffacf558c08b31272b506938946;hpb=01f8ff469a507604ed961418f7c80f9b245e60ca;p=jalview.git diff --git a/src/jalview/bin/Console.java b/src/jalview/bin/Console.java index b85a4d2..1b230ec 100644 --- a/src/jalview/bin/Console.java +++ b/src/jalview/bin/Console.java @@ -20,6 +20,7 @@ */ package jalview.bin; +import java.io.PrintStream; import java.util.Locale; import jalview.log.JLogger; @@ -43,8 +44,8 @@ public class Console } else { - System.out.println(message); - t.printStackTrace(); + outPrintln(message); + Console.printStackTrace(t); } } @@ -57,7 +58,7 @@ public class Console } else { - System.out.println(message); + outPrintln(message); } } @@ -70,8 +71,8 @@ public class Console } else { - System.out.println(message); - t.printStackTrace(); + outPrintln(message); + Console.printStackTrace(t); } } @@ -83,7 +84,7 @@ public class Console } else { - System.out.println(message); + outPrintln(message); } } @@ -96,8 +97,8 @@ public class Console } else { - System.out.println(message); - t.printStackTrace(); + outPrintln(message); + Console.printStackTrace(t); } } @@ -110,7 +111,7 @@ public class Console } else { - System.out.println(message); + outPrintln(message); } } @@ -123,7 +124,7 @@ public class Console } else { - System.out.println(message); + outPrintln(message); } } @@ -135,8 +136,8 @@ public class Console } else { - System.out.println(message); - t.printStackTrace(); + outPrintln(message); + Console.printStackTrace(t); } } @@ -149,7 +150,7 @@ public class Console } else { - System.err.println(message); + jalview.bin.Console.errPrintln(message); } } @@ -162,8 +163,8 @@ public class Console } else { - System.err.println(message); - t.printStackTrace(System.err); + jalview.bin.Console.errPrintln(message); + Console.printStackTrace(t); } } @@ -176,7 +177,7 @@ public class Console } else { - System.err.println(message); + jalview.bin.Console.errPrintln(message); } } @@ -189,8 +190,8 @@ public class Console } else { - System.err.println(message); - t.printStackTrace(System.err); + jalview.bin.Console.errPrintln(message); + Console.printStackTrace(t); } } @@ -212,33 +213,64 @@ public class Console public static JLogger.LogLevel getCachedLogLevel(String key) { - return JLogger.toLevel(Cache.getDefault(key, "INFO")); + return getLogLevel(Cache.getDefault(key, "INFO")); + } + + public static JLogger.LogLevel getLogLevel(String level) + { + return JLogger.toLevel(level); + } + + public static JLogger getLogger() + { + return log; } public static boolean initLogger() { + return initLogger(null); + } + + public static boolean initLogger(String providedLogLevel) + { if (log != null) { return true; } try { - JLogger.LogLevel cachedLevel = getCachedLogLevel(); + JLogger.LogLevel logLevel = JLogger.LogLevel.INFO; + + if (JLogger.isLevel(providedLogLevel)) + { + logLevel = Console.getLogLevel(providedLogLevel); + } + else + { + logLevel = getCachedLogLevel(); + } + if (!Platform.isJS()) { - Log4j.init(cachedLevel); + if (!Jalview.quiet()) + { + jalview.bin.Console.errPrintln( + "Setting initial log level to " + logLevel.name()); + } + Log4j.init(logLevel); } // log output // is laxis used? Does getLogger do anything without a Logger object? // Logger laxis = Log4j.getLogger("org.apache.axis", myLevel); - JLoggerLog4j.getLogger("org.apache.axis", cachedLevel); + JLoggerLog4j.getLogger("org.apache.axis", logLevel); // The main application logger - log = JLoggerLog4j.getLogger(Cache.JALVIEW_LOGGER_NAME, cachedLevel); + log = JLoggerLog4j.getLogger(Cache.JALVIEW_LOGGER_NAME, logLevel); } catch (NoClassDefFoundError e) { - System.err.println("Could not initialise the logger framework"); - e.printStackTrace(); + jalview.bin.Console + .errPrintln("Could not initialise the logger framework"); + Console.printStackTrace(e); } // Test message @@ -276,6 +308,96 @@ public class Console } } + public static void outPrint() + { + outPrint(""); + } + + public static void outPrintln() + { + outPrintln(""); + } + + public static void outPrint(Object message) + { + outPrintMessage(message, false, false); + } + + public static void outPrint(Object message, boolean forceStdout) + { + outPrintMessage(message, false, forceStdout); + } + + public static void outPrintln(Object message) + { + outPrintMessage(message, true, false); + } + + public static PrintStream outputStream(boolean forceStdout) + { + // send message to stderr if an output file to stdout is expected + if (!forceStdout && Jalview.getInstance() != null + && Jalview.getInstance().getBootstrapArgs() != null + && Jalview.getInstance().getBootstrapArgs().outputToStdout()) + { + return System.err; + } + else + { + return System.out; + } + } + + public static void outPrintMessage(Object message, boolean newline, + boolean forceStdout) + { + PrintStream ps = outputStream(forceStdout); + if (newline) + { + ps.println(message); + } + else + { + ps.print(message); + } + } + + public static void errPrint() + { + errPrint(""); + } + + public static void errPrintln() + { + errPrintln(""); + } + + public static void errPrint(Object message) + { + System.err.print(message); + } + + public static void errPrintln(Object message) + { + System.err.println(message); + } + + public static void debugPrintStackTrace(Throwable t) + { + if (!isDebugEnabled()) + { + return; + } + // send message to stderr if output to stdout is expected + printStackTrace(t); + } + + public static void printStackTrace(Throwable t) + { + // send message to stderr if output to stdout is expected + t.printStackTrace(System.err); + } + public final static String LOGGING_TEST_MESSAGE = "Logging to STDERR"; -} +} \ No newline at end of file