package com.paypal.core; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; /** * LoggingManager Class uses java.util.logging * */ public final class LoggingManager { private LoggingManager() {} private static Map<Class<?>, Logger> loggerMap = new HashMap<Class<?>, Logger>(); private static Logger getLogger(Class<?> thisClass) { if (loggerMap.get(thisClass) == null) { synchronized (loggerMap) { if (loggerMap.get(thisClass) == null) { loggerMap.put(thisClass, Logger.getLogger(thisClass.getCanonicalName())); } } } return loggerMap.get(thisClass); } public static void log(Level priority, Class<?> thisClass, Object message) { Logger logger = getLogger(thisClass); synchronized (logger) { if (logger.isLoggable(priority)) { logger.log(priority, (String) message); } } } public static void log(Level priority, Class<?> thisClass, Object message, Throwable t) { Logger logger = getLogger(thisClass); synchronized (logger) { if (logger.isLoggable(priority)) { logger.log(priority, (String) message, t); } } } public static void debug(Class<?> thisClass, Object message) { log(Level.FINEST, thisClass, message); } public static void debug(Class<?> thisClass, Object message, Throwable t) { log(Level.FINEST, thisClass, message, t); } public static void info(Class<?> thisClass, Object message) { log(Level.INFO, thisClass, message); } public static void info(Class<?> thisClass, Object message, Throwable t) { log(Level.INFO, thisClass, message, t); } public static void warn(Class<?> thisClass, Object message) { log(Level.WARNING, thisClass, message); } public static void warn(Class<?> thisClass, Object message, Throwable t) { log(Level.WARNING, thisClass, message, t); } public static void severe(Class<?> thisClass, Object message) { log(Level.SEVERE, thisClass, message); } public static void severe(Class<?> thisClass, Object message, Throwable t) { log(Level.SEVERE, thisClass, message, t); } }