Salve todos.
Trabalhei com Log4j algumas vezes, sempre com a idéia de depuração de erros mesmo.
Aconteceu algo fora do estado esperado da aplicação, registra um mensagem de log!
Bom, agora eu preciso de algo mais. Preciso de logs que gerem “informações de negocio” mesmo.
Como quem acessou tal recurso, quando, por quanto tempo, etc. Informações que vão servir de base para relatórios, ajudar na tomada de decisões.
De cara, vi que preciso salvar tudo isso numa persistência confiável. O Log4J tem o JDBCAppender que salva as msgs em BD, blz.
A questão é como faço para passar mais que uma simples mensagem String para log.
Sei que usando o código abaixo, por exemplo, o PatternLayout pode “imprimir” no appender a data, hora, qual classe lançou, método e a msg em si.
logger.debug("Minha msg");
Gostaria de passar, por exemplo, objetos de domínio ou negócio, bem como outros tipos quaisquer, SEM CONCATENÁ-LOS NA MENSAGEM.
É importante separar a mensagem desses parâmetros pois devo guarda-los em campos separados na tabela do banco.
Algo como:
logger.info("O recurso foi alterado.", usuarioLogado, recurso, recurso.getStatus() ); //só um exemplo..
Deu pra sacar a idéia?
Como eu faria isso?
O Log4J dá suporte pra isso ou na verdade eu nem preciso dele??
Abraços
