Galera, já procurei na web mas não encontrei o que eu queria exatamente.
Seguinte coloquei o Log4J na minha aplicação Swing, configurei o arquivo de propriedades, adicionei as bibliotecas e está funcionando perfeitamente, porém, o arquivo de log não está gerando com as informações que eu quero, então eu gostaria de saber como faço pra gerar o arquivo de log com as seguintes informações:
Nome da classe que gerou o erro;
Nome do método que gerou o erro;
Linha que gerou o erro;
Data / Hora em que o erro ocorreu;
Código / Nome do erro/exceção.
Este é o meu arquivo de propriedades:
log4j.rootLogger=ERROR, stdout, fileOut
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
log4j.appender.fileOut=org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=./DBCON.LOG
#log4j.appender.fileOut.MaxFileSize=100KB
# Keep one backup file
#log4j.appender.fileOut.MaxBackupIndex=1
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
Nome da classe que gerou o erro = %C
Nome do método que gerou o erro = %M
Linha que gerou o erro = %l (L minúsculo)
Data / Hora em que o erro ocorreu = %d{dd/MM/yyyy HH:mm:ss,SSS}
Código / Nome do erro/exceção = quando você logar a mensagem, você precisa usar algo semelhante a:
É mais ou menos isso. Na prática, muita gente loga no formato yyyyMMddHHmmssSSS porque isso permite deixar as linhas de log ordenadas - isso é muito importante quando você precisa combinar 2 arquivos de log distintos, e você precisa estabelecer uma relação causal entre o que ocorreu em um sistema e outro (que estão logando em arquivos diferentes). Você pode fazer um “merge” entre os dois arquivos, se você deixar tudo ordenadinho com o formato acima (ano-mês-dia) de forma bem trivial.