package br.com.citframework.log; import java.sql.Timestamp; import java.util.StringTokenizer; import org.apache.log4j.Logger; import br.com.citframework.dto.LogDados; import br.com.citframework.service.LogDadosService; import br.com.citframework.service.LogDadosServiceBean; //import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.UtilDatas; public class DbLog implements Log { private static final Logger LOGGER = Logger.getLogger(DbLog.class); @Override public void registraLog(final String mensagem, final Class<?> classe, final String tipoMensagem) throws Exception { try { if (mensagem.indexOf(Log.SEPARADOR) > 0) { final StringTokenizer stok = new StringTokenizer(mensagem, SEPARADOR); int i = 0; String nomeTabela = ""; String operacao = ""; String dados = ""; String idUsuario = ""; String login = ""; String ipOrigem = ""; while (stok.hasMoreTokens()) { final String tok = stok.nextToken(); if (i == 0) { nomeTabela = tok; } else if (i == 1) { operacao = tok; } else if (i == 2) { dados = tok; } else if (i == 3) { idUsuario = tok; } else if (i == 4) { login = tok; } else if (i == 5) { ipOrigem = tok; } i++; } if (nomeTabela.equalsIgnoreCase("logdados")) { return; } final LogDados ld = new LogDados(); ld.setDados(dados); final Timestamp dataAtual = UtilDatas.getDataHoraAtual(); ld.setDtAtualizacao(dataAtual); ld.setDataLog(dataAtual); ld.setIdUsuario(new Integer(idUsuario)); ld.setLocalOrigem(ipOrigem); ld.setOperacao(operacao); ld.setNomeTabela(nomeTabela); ld.setNomeUsuario(login); this.getLogDadosService().create(ld); final DbLogArquivo dbLogArquivo = new DbLogArquivo(); final String ldString = dbLogArquivo.formatarStringLogDados(ld); dbLogArquivo.registraLog(ldString, classe, tipoMensagem); } } catch (final Exception e) { LOGGER.warn(e.getMessage(), e); } } @Override public void registraLog(final Exception e, final Class<?> classe, final String tipoMensagem) throws Exception {} private LogDadosService logDadosService; private LogDadosService getLogDadosService() { if (logDadosService == null) { logDadosService = new LogDadosServiceBean(); } return logDadosService; } }