From 922076d807974cefa6ade28f689a20f1a90fddeb Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Tue, 5 Apr 2022 11:19:47 +0200 Subject: provide more control on the logging to users --- .../java/org/uic/barcode/logger/LoggerFactory.java | 55 +++++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/uic/barcode/logger/LoggerFactory.java') diff --git a/src/main/java/org/uic/barcode/logger/LoggerFactory.java b/src/main/java/org/uic/barcode/logger/LoggerFactory.java index 0a1a83c..be5736e 100644 --- a/src/main/java/org/uic/barcode/logger/LoggerFactory.java +++ b/src/main/java/org/uic/barcode/logger/LoggerFactory.java @@ -1,9 +1,60 @@ package org.uic.barcode.logger; +import java.util.HashMap; + +/** + * A factory for creating Logger objects. This allows to replace the default logger by your own loggers. + */ public class LoggerFactory { + + /** The registered loggers. */ + private static HashMap registeredLoggers = new HashMap(); + + /** The activate console log. */ + public static boolean activateConsoleLog = false; + + /** + * Gets the logger. + * + * @param name the name of the logger. UperEncoder uses asnLogger + * @return the logger + */ public static Logger getLogger(String name) { - return new Logger(); - } + Logger logger = registeredLoggers.get(name); + if (logger == null) { + logger = new Logger(activateConsoleLog); + registeredLoggers.put(name, logger); + } + return logger; + } + /** + * Checks if console log is on. + * + * @return true, if console log is on + */ + public static boolean isActivateConsoleLog() { + return activateConsoleLog; + } + + /** + * Sets the console log on + * + * @param activateConsoleLog the new activate console log + */ + public static void setActivateConsoleLog(boolean activateConsoleLog) { + LoggerFactory.activateConsoleLog = activateConsoleLog; + } + + /** + * Register logger. + * + * @param name the name of the logger + * @param logger the logger to be registered + */ + public void registerLogger(String name, Logger logger) { + registeredLoggers.put(name, logger); + } + } -- cgit v1.2.3