package org.ourgrid.peer.communication.sender; import org.ourgrid.common.internal.SenderIF; import org.ourgrid.common.internal.response.LoggerResponseTO; import org.ourgrid.peer.response.DataBaseLoggerResponseTO; import br.edu.ufcg.lsd.commune.container.logging.CommuneLogger; import br.edu.ufcg.lsd.commune.container.logging.CommuneLoggerFactory; import br.edu.ufcg.lsd.commune.container.servicemanager.ServiceManager; public class DataBaseLoggerSender implements SenderIF<DataBaseLoggerResponseTO>{ private CommuneLogger logger = CommuneLoggerFactory.getInstance().gimmeALogger(getClass()); public void execute(DataBaseLoggerResponseTO response, ServiceManager manager) { String message = response.getMessage(); switch (response.getType()) { case LoggerResponseTO.DEBUG: logger.debug(message); break; case LoggerResponseTO.WARN: logger.warn(message); break; case LoggerResponseTO.ERROR: if (response.getError() == null) logger.error(message); else logger.error(message, response.getError()); break; case LoggerResponseTO.INFO: logger.info(message); break; case LoggerResponseTO.TRACE: logger.trace(message); break; case LoggerResponseTO.FATAL: logger.fatal(message, new Throwable(message)); break; default: return; } } }