log4j

Pessoal,

Quero usar o log4j, mas nao sei como fazer para criar um arquivo para armazenar as informações e como configurar ! Alguem tem alguma dica ?

Ja li o tutorial do forum !

Valew
Abs

Roda esse código na sua IDE…

Não esta com muitas explicações…mas ele gera um arquivo e salva na raiz do projeto.

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.Locale;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;


/**
 * @author giulliano.morroni
 * data 29/10/2007
 */
public class LoggerDedic {

	//Instância do Arquivo de LOG
	private static FileAppender fileAppender;
	//Instância do objeto logger
	private static Logger logger;
	
	//Configura o Log4J para todas as classes do pacote "br.com.dedic"
	static{
		BasicConfigurator.configure();
		logger = Logger.getLogger("br.com.decic");
	
		try {
			fileAppender = new FileAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN), "arquivoLog.log");
			logger.addAppender(fileAppender);
		}catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * Grava ERRO ou MENSAGEM no arquivo de LOG
	 * @param erro Erro ou Mensagem para gravar
	 */
	@SuppressWarnings("unused")
	public static void gravaLog(String erro){
		logger.error(erro +" "+dataAtual());
	}
	
	/**
	 * Grava ERRO ou MENSAGEM no arquivo de LOG
	 * @param erro Erro ou Mensagem para gravar
	 * @param classe Caso deseje informa a classe
	 */
	@SuppressWarnings({ "unchecked"})
	public static void gravaLog(String erro,Class classe){
		logger = Logger.getLogger(classe);
		logger.addAppender(fileAppender);
		logger.error(erro +" "+dataAtual());
	}

	/**
	 * @return data atual 
	 */
	private static String dataAtual(){
		String dataAtual = new String();
		Locale locale = new Locale("pt","BR"); 
		GregorianCalendar calendar = new GregorianCalendar(); 
		SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy' - 'HH':'mm'h'",locale); 
		dataAtual = formatador.format(calendar.getTime()); 
		return dataAtual;
	}
	
	
}

Para usar vc precisa criar uma segunda classe de teste e chamar os métodos que gravam a mensagem no LOG sinta-se a vomntade para adapta-lo…abraços…