Estou testando o log4j.
Criei um arquivo log4j.properties no path da minha aplicação.
Está funcionado direitinho, consigo gravar o arquivo de log.
Só que o arquivo de log é gravado na pasta bin do tomcat (estou usando o tomcat do netbeans).
Eu queria gravar o arquivo de log numa pasta dentro da minha aplicação.
Minha dúvida é em relação a linha abaixo.
# Set root logger level to DEBUG and its only appender to fileOut.
log4j.rootLogger=DEBUG, fileOut
#ordem: DEBUG - INFO - WARN - ERROR - FATAL
# fileOut is set to be a ConsoleAppender.
log4j.appender.fileOut=org.apache.log4j.ConsoleAppender
# fileOut uses PatternLayout.
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
#log4j.appender.fileOut.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.fileOut.layout.ConversionPattern=%d %-5p - %m - [%c] %n
# Pattern to output the caller's file name and line number.
#log4j.appender.fileOut.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=D:/log/aplicacaoX/x_debug_.log
log4j.appender.fileOut.MaxFileSize=1000KB
# Keep one backup file
log4j.appender.fileOut.MaxBackupIndex=5
C
cnunes
gigicantador:
Costumo usar:
# Set root logger level to DEBUG and its only appender to fileOut.
log4j.rootLogger=DEBUG, fileOut
#ordem: DEBUG - INFO - WARN - ERROR - FATAL
# fileOut is set to be a ConsoleAppender.
log4j.appender.fileOut=org.apache.log4j.ConsoleAppender
# fileOut uses PatternLayout.
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
#log4j.appender.fileOut.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.fileOut.layout.ConversionPattern=%d %-5p - %m - [%c] %n
# Pattern to output the caller's file name and line number.
#log4j.appender.fileOut.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=D:/log/aplicacaoX/x_debug_.log
log4j.appender.fileOut.MaxFileSize=1000KB
# Keep one backup file
log4j.appender.fileOut.MaxBackupIndex=5
Mas eu gostaria que o caminho para a criação do arquivo não fosse absoluto.
Preciso apontar esse caminho de forma dinâmica.
A minha grande dificuldade está em apontar a pasta raíz da minha apliação através do meu arquivo log4j.properties.
Alguém tem alguma idéia de como fazer isso?
Muito obrigada!
C
cnunes
cnunes:
gigicantador:
Costumo usar:
# Set root logger level to DEBUG and its only appender to fileOut.
log4j.rootLogger=DEBUG, fileOut
#ordem: DEBUG - INFO - WARN - ERROR - FATAL
# fileOut is set to be a ConsoleAppender.
log4j.appender.fileOut=org.apache.log4j.ConsoleAppender
# fileOut uses PatternLayout.
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
#log4j.appender.fileOut.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.fileOut.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.fileOut.layout.ConversionPattern=%d %-5p - %m - [%c] %n
# Pattern to output the caller's file name and line number.
#log4j.appender.fileOut.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=D:/log/aplicacaoX/x_debug_.log
log4j.appender.fileOut.MaxFileSize=1000KB
# Keep one backup file
log4j.appender.fileOut.MaxBackupIndex=5
Mas eu gostaria que o caminho para a criação do arquivo não fosse absoluto.
Preciso apontar esse caminho de forma dinâmica.
A minha grande dificuldade está em apontar a pasta raíz da minha apliação através do meu arquivo log4j.properties.
Alguém tem alguma idéia de como fazer isso?
Muito obrigada!
Pessoal,
Alguém tem mais alguma sugestão???
R
renatocustodio
Não tenho certeza, mas não tem como passar isso por dentro da aplicação em vez de cetar pelo arquivo properties? Se sim, fica fácil via programação vc pegar o caminho da sua aplicação…
Mas eu gostaria que o caminho para a criação do arquivo não fosse absoluto.
Preciso apontar esse caminho de forma dinâmica.
A minha grande dificuldade está em apontar a pasta raíz da minha apliação através do meu arquivo log4j.properties.
Alguém tem alguma idéia de como fazer isso?
Muito obrigada!
log4j.appender.fileOut.File=log/fis.log
Assim fica relativo ao diretorio de execução
Olá fabio falci,
Testei a sua sugestão.
Mas desta forma ele cria uma pasta log com o arquivo fis.log no diretório raíz da minha máquina.
Vou verificar a sugestão anterior.
Obrigada!
C
cnunes
Olá Renato,
Não faço a menor idéia de como passar via programação.
A princípio, deixei o caminho absoluto, mas vou continuar pesquisando.
Se alguém tiver alguma sugestão, será muito bem vinda!
Muito obrigada!
F
fabiofalci
cnunes:
Olá fabio falci,
Testei a sua sugestão.
Mas desta forma ele cria uma pasta log com o arquivo fis.log no diretório raíz da minha máquina.
Vou verificar a sugestão anterior.
Obrigada!
Sim, entao o teu diretório de execução é a raiz da sua maquina.
Tenta ir num diretório diferente, por exemplo
/tmp/
e execute a sua aplicação de lá, vai ser criado então
/tmp/log/fis.log
C
cnunes
fabiofalci:
cnunes:
Olá fabio falci,
Testei a sua sugestão.
Mas desta forma ele cria uma pasta log com o arquivo fis.log no diretório raíz da minha máquina.
Vou verificar a sugestão anterior.
Obrigada!
Sim, entao o teu diretório de execução é a raiz da sua maquina.
Tenta ir num diretório diferente, por exemplo
/tmp/
e execute a sua aplicação de lá, vai ser criado então
/tmp/log/fis.log
Bom dia fabio,
Desculpa, mas eu não entendi o que vc disse.
" Tenta ir num diretório diferente, por exemplo
/tmp/
e execute a sua aplicação de lá, "
Ou melhor, como ir para um diretório diferente?
Desculpa, mas é que não tenho muita experiência…
F
fabiofalci
Como tu está executando a aplicação? linha de comando? icone?
Se linha de comando, tente assim:
> cd /tmp
> java -jar ....
Ou seja teu diretório de execução é o /tmp/ entao o dir de log vai estar la.
Agora se for algum ícone, do windows por exemplo, tem q ir nas propriedades dele e
o diretório de execução é o ‘Iniciar em:’ (windows em portugues).
C
cnunes
fabiofalci:
cnunes:
Bom dia fabio,
Desculpa, mas eu não entendi o que vc disse.
" Tenta ir num diretório diferente, por exemplo
/tmp/
e execute a sua aplicação de lá, "
Ou melhor, como ir para um diretório diferente?
Desculpa, mas é que não tenho muita experiência…
Como tu está executando a aplicação? linha de comando? icone?
Se linha de comando, tente assim:
> cd /tmp
> java -jar ....
Ou seja teu diretório de execução é o /tmp/ entao o dir de log vai estar la.
Agora se for algum ícone, do windows por exemplo, tem q ir nas propriedades dele e
o diretório de execução é o ‘Iniciar em:’ (windows em portugues).
Olá fabio,
Desculpa, esqueci de falar.
A minha aplicação é web.
Como a minha aplicação vai rodar num servidor,
eu tenho que apontar o caminho para a pasta que armazenará os log.
Como falei anteriormente, preciso que o caminho seja dinâmico.
Pois se o caminho da pasta ficar estático, e por algum acaso eu tiver que mudar a mnha aplicação de servidor,
vou ter que modificar o caminho na mão.
Muito obrigada pela sua ajuda…
R
rafrl13
Estou com o mesmo problema, alguém tem uma solução ?