Como fazer o log4j escrever em arquivo

1 resposta
regis_hideki

Bom dia, pessoal, estou tendo um probleminha. Já fucei em tudo quanto é canto na internet e não consegui fazer o negócio funcionar.
É o seguinte: preciso fazer com que as mensagens de log espalhadas pelas classes do sistema sejam exibidas no console(isso já consegui) e gravadas em um arquivo(esse é o problema). Inclusive, até já fiz uma aplicação pequena, mas desktop, para ver se a lógica estava certa, e funcionou. Chuto que, pelo fato das mensagens aparecerem no Console, a configuração esteja correta, sobrando apenas alguma coisa relacionada à gravação no arquivo como possível erro. Segue meu log4j.properties:

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

#### 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=log4j.log

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

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

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

Bom, a minha aplicação desktop de exemplo, funciona mesmo se o arquivo log4j.log não exixtir, ou seja, é criado um automaticamente. Porém, na aplicação real, se eu crio o arquivo, nada é escrito, e se eu não o crio, tbm não é criado o arquivo pra mim.

Desde já agradeço a quem puder ajudar.

1 Resposta

regis_hideki

Descobri que o arquivo está sendo gravado e escrito, porém, o arquivo .log é criado na pasta do Eclipse “C:\eclipse\ambiente-32bits-v1.1\eclipse”. No entanto, gostaria de gravar em “C:\eclipse\ambiente-32bits-v1.1\eclipse\tomcat\7.0.12\webapps\web”, porém, de forma dinâmica, de forma a rodar em outros ambientes.

Já tentei mudar a linha

log4j.appender.fileOut.File=log4j.log

de tudo quanto é jeito, mas nada resolve. Alguma sugestão?

Abraços

Criado 30 de maio de 2011
Ultima resposta 1 de jun. de 2011
Respostas 1
Participantes 1