Olá pessoal estou pesquisando aqui no forum as ainda não encontrei alguma solução para o meu problema, fiz uma aplicação desktop que gera alguns arquivos txt, e estou colocando alguns logs para seguir os passos dela.
Ao executar pela IDE tudo roda perfeitamente, mas quando tento executar a aplicação pelo .jar são lançados alguns erros e o arquivo de log não é criado.
abaixo o erro que é lançado no cmd quando rodo apenas pelo .jar
log4j:ERROR Could not read configuration file [C:\Users\meuPc\src\logs\lo
g4j.properties].
java.io.FileNotFoundException: C:\Users\meuPc\src\logs\log4j.properties (
O sistema não pode encontrar o caminho especificado)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
r.java:316)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.
java:342)
at br.com.geradoraccera.util.Util.configuraLog4j(Util.java:68)
at br.com.geradoraccera.start.GerarConsulta.main(GerarConsulta.java:26)
log4j:ERROR Ignoring configuration file [C:\Users\meuPc\src\logs\log4j.pr
operties].
Abaixo o meu arquivo log4j.properties
#### Usando 2 appenders, 1 para logar no console, outro para um #arquivo,
#### ou seja, mostrará o log no console e salvará em um arquivo
log4j.rootCategory=INFO,stdout,fileOut
# Imprime somente mensagens com 'priority' WARN ou mais alto para o #logger
#lembrando a ordem: DEBUG - INFO - WARN - ERROR - FATAL
log4j.category.br.com.geradoraccera.log=INFO
#### 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, porem #sem data e hora
log4j.appender.stdout.layout.ConversionPattern=[(%F:%L)%d{dd/MM/yyyy HH:mm:ss:SS}] %m%n
#### O segundo appender escreve em um arquivo e faz um bkp ao #atingir o max
log4j.appender.fileOut =org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=c:\\resultado\\MyLog.txt
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
### Controla o tamanho maximo do arquivo
log4j.appender.fileOut.MaxFileSize=1MB
### Faz backup dos arquivos de log (apenas 1)
log4j.appender.fileOut.MaxBackupIndex=2
#####este formato esta em ingles: 2011-04-24 e imprime o nro da #linha L
log4j.appender.fileOut.layout.ConversionPattern=[(%F:%L)%d{dd/MM/yyyy HH:mm:ss:SS}] %m%n
Antes de começar a gerar os logs eu estou usando este método para inicializar o log4j
o arquivo properties esta salvo no meu projeto geradorTxt\src\logs, criei um pacote e coloquei o arquivo properties lá.
public static void configuraLog4j() {
BasicConfigurator.configure();
PropertyConfigurator.configure(diretorioRaiz + "\\src\\logs\\log4j.properties");
}
podem me ajudar?