diff --git a/mcdp/src/ch/ntb/mcdp/utils/logger/LogUtil.java b/mcdp/src/ch/ntb/mcdp/utils/logger/LogUtil.java index 4794f2a..c49d346 100644 --- a/mcdp/src/ch/ntb/mcdp/utils/logger/LogUtil.java +++ b/mcdp/src/ch/ntb/mcdp/utils/logger/LogUtil.java @@ -4,13 +4,29 @@ import java.util.logging.ConsoleHandler; import java.util.logging.Handler; import java.util.logging.Level; - public class LogUtil { - public static McdpLogger ch_ntb_mcdp_bdi, ch_ntb_mcdp_bdi_test, ch_ntb_mcdp_usb; - - private static McdpLogger getLogger(String name, Level loglevel) { - McdpLogger logger = McdpLogger.getLogger(name); + public static McdpLogger ch_ntb_mcdp_bdi, ch_ntb_mcdp_bdi_test, + ch_ntb_mcdp_usb; + + static { + // set all loglevels here + ch_ntb_mcdp_usb = getLogger("ch.ntb.mcdp.usb", LogLevel.OFF); + + ch_ntb_mcdp_bdi = getLogger("ch.ntb.mcdp.bdi", LogLevel.ALL); + + ch_ntb_mcdp_bdi_test = getLogger("ch.ntb.mcdp.bdi.test", LogLevel.ALL); + } + + public static void setLevel(McdpLogger logger, Level loglevel) { + Handler[] h = logger.getHandlers(); + for (int i = 0; i < h.length; i++) { + h[i].setLevel(loglevel); + } + logger.setLevel(loglevel); + } + + private static void initLevel(McdpLogger logger, Level loglevel) { Handler[] h = logger.getHandlers(); for (int i = 0; i < h.length; i++) { logger.removeHandler(h[i]); @@ -19,15 +35,12 @@ public class LogUtil { console.setLevel(loglevel); logger.addHandler(console); logger.setLevel(loglevel); + logger.setUseParentHandlers(false); + } + + private static McdpLogger getLogger(String name, Level loglevel) { + McdpLogger logger = McdpLogger.getLogger(name); + initLevel(logger, loglevel); return logger; } - - static { - // set all loglevels here - ch_ntb_mcdp_bdi = getLogger("ch.ntb.mcdp.bdi", LogLevel.ALL); - - ch_ntb_mcdp_bdi_test = getLogger("ch.ntb.mcdp.bdi.test", LogLevel.OFF); - - ch_ntb_mcdp_usb = getLogger("ch.ntb.mcdp.usb", LogLevel.OFF); - } }