From 43488b9413cf56176eb066d427e2b9772bfaf285 Mon Sep 17 00:00:00 2001 From: schlaepfer Date: Thu, 12 Jan 2006 08:12:12 +0000 Subject: [PATCH] - Level-handling fixed git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@84 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c --- mcdp/src/ch/ntb/usb/logger/LogUtil.java | 35 ++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/mcdp/src/ch/ntb/usb/logger/LogUtil.java b/mcdp/src/ch/ntb/usb/logger/LogUtil.java index 36d0e57..991c3cd 100644 --- a/mcdp/src/ch/ntb/usb/logger/LogUtil.java +++ b/mcdp/src/ch/ntb/usb/logger/LogUtil.java @@ -1,12 +1,41 @@ package ch.ntb.usb.logger; +import java.util.logging.ConsoleHandler; +import java.util.logging.Handler; +import java.util.logging.Level; + public class LogUtil { - + public static UsbLogger ch_ntb_usb; static { // set all loglevels here - ch_ntb_usb = UsbLogger.getLogger("ch.ntb.usb"); - ch_ntb_usb.setLevel(LogLevel.OFF); + ch_ntb_usb = getLogger("ch.ntb.usb", LogLevel.OFF); + } + + public static void setLevel(UsbLogger 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(UsbLogger logger, Level loglevel) { + Handler[] h = logger.getHandlers(); + for (int i = 0; i < h.length; i++) { + logger.removeHandler(h[i]); + } + Handler console = new ConsoleHandler(); + console.setLevel(loglevel); + logger.addHandler(console); + logger.setLevel(loglevel); + logger.setUseParentHandlers(false); + } + + private static UsbLogger getLogger(String name, Level loglevel) { + UsbLogger logger = UsbLogger.getLogger(name); + initLevel(logger, loglevel); + return logger; } }