Como utilizar o Log4J?

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

Desde já agradeço a ajuda.

Man,

http://www.guj.com.br/java/7341-introducao-ao-log4j
http://www.guj.com.br/java/275316-log4j-properties
http://www.guj.com.br/java/267798-log4j-uma-boa-estrategia-de-looging-para-uma-aplicacao-web
http://www.guj.com.br/java/268958-configurar-log4j-para-gerar-um-arquivo-log-dentro-de-web-inf

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html

Dando uma colher de chá:

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:

....
catch (Exception ex) {

log.error ("mensagem", ex);
}

Só pra tirar dúvida, a linha que vou alterar no arquivo de propriedades é a de ConventionPattern?!?!

Deve ficar mais ou menos assim:

...
log4j.appender.stdout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %5p [%t] (%F:%L) - %C%M - %l - %m%n
...

Log4J é uma zona absurda. Fiz um post criticando ele aqui => http://www.guj.com.br/java/253159-voce-nao-gosta-do-log4j-eu-tb-nao-leia-para-entender-o-porque

[quote=Bambatera]Só pra tirar dúvida, a linha que vou alterar no arquivo de propriedades é a de ConventionPattern?!?!

Deve ficar mais ou menos assim:

... log4j.appender.stdout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %5p [%t] (%F:%L) - %C%M - %l - %m%n ... [/quote]

É 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.