X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Flog%2FJLogger.java;h=714b0def39002e4e528c09be5ee444493ceb367b;hb=80b889f0cca49103e1b20ed806755a0719789906;hp=03b664a9752526718c875e35ca2d3ae702e2a1d1;hpb=a1984b1c8c273ed33c7ce9283039f4027dcae2de;p=jalview.git diff --git a/src/jalview/log/JLogger.java b/src/jalview/log/JLogger.java index 03b664a..714b0de 100644 --- a/src/jalview/log/JLogger.java +++ b/src/jalview/log/JLogger.java @@ -1,9 +1,29 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.log; import java.util.HashMap; import java.util.Map; -import jalview.bin.Cache; +import jalview.bin.Console; import jalview.util.Platform; public abstract class JLogger implements JLoggerI @@ -26,6 +46,16 @@ public abstract class JLogger implements JLoggerI protected abstract void loggerLogMessage(LogLevel level, String message, Throwable t); + public static boolean isLevel(String levelString) + { + for (LogLevel l : LogLevel.values()) + { + if (l.name().equals(levelString)) + return true; + } + return false; + } + public static LogLevel toLevel(String levelString) { try @@ -33,11 +63,21 @@ public abstract class JLogger implements JLoggerI return LogLevel.valueOf(levelString); } catch (IllegalArgumentException e) { - Cache.error("Could not parse LogLevel '" + levelString + "'", e); + Console.error("Could not parse LogLevel '" + levelString + "'", e); return LogLevel.INFO; } } + public static JLogger getLogger(Class c) + { + return getLogger(c, LogLevel.INFO); + } + + 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 +127,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 +149,7 @@ public abstract class JLogger implements JLoggerI } else { - loggerLogMessage(level, message, t); + loggerLogMessage(loglevel, message, t); return true; } }