/* * (c) Rob Gordon 2005 */ package org.oddjob.logging; import java.util.HashMap; import java.util.Map; /** * A helper class which provides a method of getting * a logger for a given component. */ public class LogHelper { private static final Map<String, Integer> loggers = new HashMap<String, Integer>(); /** * Get a unique logger name for a component. * * @param component The component. * * @return A unique logger name; */ public static String uniqueLoggerName(Object component) { String className = component.getClass().getName(); synchronized (loggers) { Integer count = (Integer) loggers.get(className); int c = 0; if (count != null) { c = count.intValue(); } loggers.put(className, new Integer(c + 1)); return className + "." + c; } } /** * Inspect the given component for a logger property. * * @param component The component. * @return The logger or null if one doesn't exist. */ public static String getLogger(Object component) { if (component instanceof LogEnabled) { return ((LogEnabled) component).loggerName(); } return null; // try { // return (String) new BeanUtilsPropertyAccessor().getProperty(component, Reserved.LOGGER_PROPERTY); // } catch (Exception e) { // return null; // } } }