Configurando o log do Hibernate usando o arquivo de configuração Log4j XML?

Eu não consegui encontrar nenhuma documentação sobre como configurar o log do Hibernate usando o arquivo de configuração de estilo XML para o Log4j.

Isso é mesmo possível ou eu tenho usado um arquivo de configuração de estilo de propriedades para controlar o log do Hibernate?

Se alguém tiver alguma informação ou links para a documentação, será apreciado.

EDITAR:
Só para esclarecer, estou procurando um exemplo da syntax real do XML para controlar o Hibernate.

EDIT2:
Aqui está o que eu tenho no meu arquivo de configuração XML.

                         

Logging funciona bem, mas eu estou procurando uma maneira de renunciar e controlar o log de hibernação de forma que separado do meu log de nível de aplicativo, como atualmente está inundando meus logs. Eu encontrei exemplos de usar o arquivo de preferências para fazer isso, eu só queria saber como posso fazer isso em um arquivo XML.

De http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html#configuration-logging

Aqui está a lista de categorias de loggers:

 Category Function org.hibernate.SQL Log all SQL DML statements as they are executed org.hibernate.type Log all JDBC parameters org.hibernate.tool.hbm2ddl Log all SQL DDL statements as they are executed org.hibernate.pretty Log the state of all entities (max 20 entities) associated with the session at flush time org.hibernate.cache Log all second-level cache activity org.hibernate.transaction Log transaction related activity org.hibernate.jdbc Log all JDBC resource acquisition org.hibernate.hql.ast.AST Log HQL and SQL ASTs during query parsing org.hibernate.secure Log all JAAS authorization requests org.hibernate Log everything (a lot of information, but very useful for troubleshooting) 

Formatado para colar em um arquivo de configuração XML log4j:

                     

NB: A maioria dos madeireiros usam o nível DEBUG, no entanto org.hibernate.type usa TRACE. Nas versões anteriores do Hibernate, org.hibernate.type também usava DEBUG, mas a partir do Hibernate 3 você deve configurar o nível para TRACE (ou ALL) para ver o registro de binding do parâmetro JDBC.

E uma categoria é especificada como tal:

     

Deve ser colocado antes do elemento raiz.

A resposta de Loki aponta para os documentos do Hibernate 3 e fornece boas informações, mas eu ainda não estava obtendo os resultados que esperava.

Muita surra, agitando as armas e correias de ratos mortos em geral finalmente me deram meu queijo.

Como o Hibernate 3 está usando o Simple Logging Facade para Java (SLF4J) (de acordo com os documentos), se você estiver confiando no Log4j 1.2, também precisará do slf4j-log4j12-1.5.10.jar se estiver querendo configurar totalmente o log do Hibernate com um arquivo de configuração log4j. Espero que isso ajude o próximo cara.

Em resposta ao comentário de homaxto, isso é o que eu tenho agora.

                            

A parte chave sendo

    

Espero que isto ajude.

Aqui está o que eu uso:

              

Obviamente, eu não gosto de ver as mensagens do Hibernate;) – defina o nível para “debugar” para obter a saída.

As respostas foram úteis. Após a alteração, recebi registro duplicado de instruções SQL, uma no arquivo de log log4j e uma no console padrão. Eu mudei o arquivo persistence.xml para dizer show_sql para false para se livrar do log do console padrão. Manter format_sql true também afeta o arquivo de log log4j, então mantive isso verdadeiro.

   org.hibernate.ejb.HibernatePersistence            

Você pode configurar seu arquivo log4j com a tag de categoria como esta (com um appender de console para o exemplo):

             

Assim, todo aviso, erro ou mensagem fatal do hibernate será exibido, nada mais. Além disso, o código e o código da biblioteca estarão no nível de informações (para informações, avisos, erros e fatais)

Para alterar o nível de log de uma biblioteca, basta adicionar uma categoria, por exemplo, para desativar o log de informações da mola:

    

Ou com outro appender, quebre a aditividade (valor padrão de aditividade é true)

     

E se você não quiser que o log de hibernação de cada consulta, defina a propriedade hibernate show_sql para false .