/* * Copyright 2011 E.J.I.E., S.A. * * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la «Licencia»); * Solo podrá usarse esta obra si se respeta la Licencia. * Puede obtenerse una copia de la Licencia en * * http://ec.europa.eu/idabc/eupl.html * * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito, * el programa distribuido con arreglo a la Licencia se distribuye «TAL CUAL», * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas. * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones * que establece la Licencia. */ package com.ejie.x38.log; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Hashtable; import org.slf4j.Logger; /** * * @author UDA * */ public class LoggingManagerImpl implements LoggingManager{ public void autoLog(Hashtable<String, String> table, String fqnClassName, Logger logger){ HashMap<String, String> info = new HashMap<String, String>(2); info.put(LogConstants.INTERFUNCTIONALSUBSYSTEM, table.get(LogConstants.FUNCTIONALSUBSYSTEM)); info.put(LogConstants.INTERADITIONALINFO, table.get(LogConstants.ADITIONALINFO)); try { Class<?> logClass = logger.getClass(); Method meth = logClass.getMethod(table.get(LogConstants.CRITICALITY).toLowerCase(), String.class, Object.class); meth.invoke(logger, table.get(LogConstants.MESSAGE), info); } catch (Exception e) { //Problems with reflection method 'autoLog' logger.error("Problems with reflection method 'autoLog'.", e); } } public void logIncidences(String fqnClassName, Logger logger, Hashtable<String, String> table){ HashMap<String, String> info = new HashMap<String, String>(2); info.put(LogConstants.INTERFUNCTIONALSUBSYSTEM, table.get(LogConstants.FUNCTIONALSUBSYSTEM)); info.put(LogConstants.INTERADITIONALINFO, table.get(LogConstants.ADITIONALINFO)); try { Class<?> logClass = logger.getClass(); Method meth = logClass.getMethod(table.get(LogConstants.CRITICALITY).toLowerCase(), String.class, Object.class); meth.invoke(logger, table.get(LogConstants.MESSAGE), info); } catch (Throwable e) { //Problems with reflection method logIncidences logger.error("Problems with reflection method 'logIncidences'.", e); } } }