Configurando o log4j

1 resposta
Vini_Fernandes

Caras, tenho o seguinte problema, quero configurar o log4j usando BasicConfigurator.configure(appender);

O problema eh que tenho que reproduzir a seguinte configuracao do .properties:

#### Usando 2 appenders, 1 para logar no console, outro para um arquivo
log4j.rootCategory=INFO, stdout, fileOut
log4j.rootCategory=INFO, fileOut

# Imprime somente mensagens com 'priority' WARN ou mais alto para o logger
#lembrando a ordem: DEBUG - INFO - WARN - ERROR - FATAL
log4j.category.SEU.LOGGER.NAME=WARN

# Explicita a herança do nivel de prioridade
#log4j.category.your.category.name=INHERITED

#### O primeiro appender escreve no console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern que mostra o nome do arquivo e numero da linha.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

#### O segundo appender escreve em um arquivo
log4j.appender.fileOut =org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=C:\IntegracaoTXT\NFLog\integracaoTXT.log

# Controla o tamanho maximo do arquivo
log4j.appender.fileOut.MaxFileSize=1000KB

# Faz backup dos arquivos de log (apenas 1)
log4j.appender.fileOut.MaxBackupIndex=500

log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern=%p %t %c - %m%n

Agradeco qualquer ajuda!

1 Resposta

Vini_Fernandes

Segue a minha solucao:

PatternLayout layout = new PatternLayout("%5p [%t] %d{dd/MM/yyyy HH:mm:ss} (%F:%L) - %m%n");
		String diretorioNFLog = (String)configurador.getPropriedade("diretorioNFLog");
		String tamanhoArquivoLog = "1000KB";
		int numeroMaximoArquivoLog = 100; 
		
		String arquivoDeLog = null;
		
		if(diretorioNFLog != null && diretorioNFLog.trim().length() > 0){
			arquivoDeLog = diretorioNFLog+File.separator+"integracaoTXT.log";	
		}
		else{
			arquivoDeLog = "integracaoTXT.log";
		}
		
		RollingFileAppender appender = new RollingFileAppender(layout, arquivoDeLog);
		
		//efetuando a consistencia do valor do tamanho do arquivo definido pelo usuario.
		String valorPropriedade = (String)configurador.getPropriedade("tamanhoArquivoLog"); 
		if( valorPropriedade != null && valorPropriedade.trim().length() > 0){
			tamanhoArquivoLog = valorPropriedade.toUpperCase();
		}
		//efetuando a consistencia do valor da quantidade de arquivos definida pelo usuario.
		valorPropriedade = (String)configurador.getPropriedade("numeroMaximoArquivoLog"); 
		if( valorPropriedade != null && valorPropriedade.trim().length() > 0){
			numeroMaximoArquivoLog = Integer.parseInt(valorPropriedade);
		}
		
		appender.setMaxFileSize(tamanhoArquivoLog);
		appender.setMaxBackupIndex(numeroMaximoArquivoLog);
		
		BasicConfigurator.configure(appender);
Criado 18 de janeiro de 2010
Ultima resposta 18 de jan. de 2010
Respostas 1
Participantes 1