svn commit: r1741 - logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util

Author: ceki Date: Thu Aug 7 15:38:10 2008 New Revision: 1741 Added: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/StatusListenerConfigHelper.java Log: this class was mistakenly omitted in revision 1740 Added: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/StatusListenerConfigHelper.java ============================================================================== --- (empty file) +++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/StatusListenerConfigHelper.java Thu Aug 7 15:38:10 2008 @@ -0,0 +1,40 @@ +package ch.qos.logback.classic.util; + +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.core.status.OnConsoleStatusListener; +import ch.qos.logback.core.status.StatusListener; +import ch.qos.logback.core.util.OptionHelper; + +public class StatusListenerConfigHelper { + + final public static String STATUS_LISTENER_CLASS = "logback.statusListenerClass"; + final public static String SYSOUT = "SYSOUT"; + + + static void installIfAsked(LoggerContext loggerContext) { + String slClass = System.getProperty(STATUS_LISTENER_CLASS, null); + if (!OptionHelper.isEmpty(slClass)) { + addStatusListener(loggerContext, slClass); + } + } + + static void addStatusListener(LoggerContext loggerContext, + String listenerClass) { + StatusListener listener = null; + if (SYSOUT.equalsIgnoreCase(listenerClass)) { + listener = new OnConsoleStatusListener(); + } else { + try { + listener = (StatusListener) OptionHelper.instantiateByClassName( + listenerClass, StatusListener.class, loggerContext); + loggerContext.getStatusManager().add(listener); + } catch (Exception e) { + // printing on the console is the best we can do + e.printStackTrace(); + } + } + if (listener != null) { + loggerContext.getStatusManager().add(listener); + } + } +}
participants (1)
-
noreply.ceki@qos.ch