Estou precisando utilizar Log4J na minha empresa, para mantermos um nível bom de debugging e histórico de erros e tal.
Já li alguns tutoriais na internet sobre o funcionamento da ferramenta, e achei interessante. Mas gostaria de perguntar a quem usa Log4J (ou outra ferramenta semelhante):
Como vocês realizam o processo de debugging em tempo de execução? Colocam o logger somente nos pontos críticos ou colocam em locais fixos (em todas as funções, por exemplo)? Qual output vocês acham mais interessante?
Geralmente só uso em pontos criticos, em sistemas web por exemplo, utilizo nos filtros e/ou interceptors e nas classes factory principais como hibernatefactory no caso do hibernate…
public class ClasseLogada {
private static org.apache.log4j.Logger logger;
static {
logger = Logger.getLogger(ClasseLogada.class);
}
public ClasseLogada() {
// instruções
logger.log(org.apache.log4j.Level.INFO, "Nova instancia do objeto " + this.getClass().getName() + " construido com sucesso");
}
}
exemplo bobo, mas mostra uma forma simples de uso do log…
Os níveis de logging ajudam bastante. Você pode, por exemplo, usar DEBUG para detalhes que são úteis em desenvolvimento mas deixam o log muito grande, e INFO para as informações que você vai precisar pra entender um problema em produção.