Class Log

java.lang.Object
schule.ngb.zm.util.Log

public final class Log extends Object
Einfache Logging-API, die auf java.util.logging aufsetzt.

Klassen, die Informations- oder Fehlernachrichten loggen wollen, erstellen ein internes LOG Objekt dieser Klasse. Die Zeichenmaschine erstellt ihren Logger beispielsweise so:

     private static final Log LOG = new Log(Zeichenmaschine.class);
 

Jedes Log nutzt intern einen Logger, der über Logger.getLogger(String) abgerufen wird. Die Log-Objekte selbst werden nicht weiter zwischengespeichert, aber in der Regel wird pro Klasse nur genau ein Log-Objekt erstellt. Mehrere Logs nutzen dann aber denselben Logger.

Die API orientiert sich lose an Log4j und vereinfacht die Nutzung der Java logging API für die häufigsten Anwendungsfälle.

  • Method Details

    • enableGlobalDebugging

      public static void enableGlobalDebugging()
      Aktiviert das Logging in der Zeichenmaschine global.

      Die Methode sollte einmalig möglichst früh im Programm aufgerufen werden, um für alle bisher und danach erstellten Logger das minimale Logging-Level auf Level.FINE zu setzen. Dies entspricht allen Nachrichten die mit den Methoden (außer trace) eines Log erzeugt werden.

      See Also:
    • enableGlobalLevel

      public static void enableGlobalLevel(Level level)
      Setzt das Logging-Level aller bisher und danach erzeugten Logger auf den angegebenen Level.

      Das Level für bestehende Logger wird nur abgesenkt, so dass Nachrrichten bis level auf jeden Fall ausgegeben werden. Besitzt der Logger schon ein niedrigeres Level, wird dieses nicht verändert. Gleiches gilt für alle ConsoleHandler, die den bestehenden Loggern hinzugefügt wurden.

      Hinweis: Das Setzen des Logging-Level während der Programmausführung gilt als bad practice, also schlechter Programmierstil. Im Kontext der Zeichenmaschine macht dies Sinn, um Programmieranfängern eine einfache Möglichkeit zu geben, in ihren Programmen auf Fehlersuche zu gehen. Für andere Einsatzszenarien sollte auf die übliche Konfiguration des java.util.logging Pakets über eine Konfigurationsdatei zurückgegriffen werden.

      Parameters:
      level - Das Level, auf das alle Logger und Handler mindestens herabgesenkt werden sollen.
    • getLogger

      public static Log getLogger(Class<?> clazz)
    • log

      public void log(Level level, CharSequence msg)
    • log

      public void log(Level level, CharSequence msg, Object... params)
    • log

      public void log(Level level, Supplier<String> msgSupplier)
    • log

      public void log(Level level, Throwable throwable, CharSequence msg, Object... params)
    • log

      public void log(Level level, Throwable throwable, Supplier<String> msgSupplier)
    • isLoggable

      public boolean isLoggable(Level level)
    • info

      public void info(CharSequence msg)
    • info

      public void info(CharSequence msg, Object... params)
    • info

      public void info(Supplier<String> msgSupplier)
    • info

      public void info(Throwable ex, CharSequence msg, Object... params)
    • info

      public void info(Throwable throwable, Supplier<String> msgSupplier)
    • warn

      public void warn(CharSequence msg)
    • warn

      public void warn(CharSequence msg, Object... params)
    • warn

      public void warn(Supplier<String> msgSupplier)
    • warn

      public void warn(Throwable ex, CharSequence msg, Object... params)
    • warn

      public void warn(Throwable throwable, Supplier<String> msgSupplier)
    • error

      public void error(CharSequence msg)
    • error

      public void error(CharSequence msg, Object... params)
    • error

      public void error(Supplier<String> msgSupplier)
    • error

      public void error(Throwable ex, CharSequence msg, Object... params)
    • error

      public void error(Throwable throwable, Supplier<String> msgSupplier)
    • debug

      public void debug(CharSequence msg)
    • debug

      public void debug(CharSequence msg, Object... params)
    • debug

      public void debug(Supplier<String> msgSupplier)
    • debug

      public void debug(Throwable ex, CharSequence msg, Object... params)
    • debug

      public void debug(Throwable throwable, Supplier<String> msgSupplier)
    • trace

      public void trace(CharSequence msg)
    • trace

      public void trace(CharSequence msg, Object... params)
    • trace

      public void trace(Supplier<String> msgSupplier)
    • trace

      public void trace(Throwable ex, CharSequence msg, Object... params)
    • trace

      public void trace(Throwable throwable, Supplier<String> msgSupplier)