Hibernate e Spring nao fazem log da Aplicaçao!

Ola Pessoal!

        Depois de muita luta para conseguir integrar o hibernate e spring fazendo a geracao automatica de tabelas funcionar, agora me deparo com um novo problema! o hibernate nao faz log de nada! isso na verdade nao chega a ser um grande problema, mas ele começa quando temos erros e precisamos de ver os logs para saber o que aconteceu, como estou usando o spring, nao tenho os arquivos hibernate.properties no classpath, visto que estou configurando no proprio applicationContext.xml do spring, alguem ja passou por isso? ou sabe o que devo configurar no spring para que os logs funcionem? vou postar aqui o meu applicationContext.xml, mais uma vez obrigado a atençao de todos, e de antemao agradecido tambem pela resposta que os companheiros irao dar! rs obrigado pessoal!

======================
meu applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
			http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
	
	<!-- 
		Data Source Configuration
	 -->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName"><value>org.postgresql.Driver</value></property>
		<property name="url"><value>jdbc:postgresql://localhost:5432/vandji</value></property>
		<property name="username"><value>postgres</value></property>
		<property name="password"><value>wiling250589*#</value></property>
	</bean>

	<!-- 
		Hibernate SessionFactory 
	--> 
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="configLocation" value="hibernate.cfg.xml"/>

		<!-- Hibernate Configuration -->
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hibernate.format_sql">true</prop>
				<prop key="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>
				<prop key="hibernate.cache.use_query_cache">true</prop>
				<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
				<prop key="hibernate.hbm2ddl.auto">create-drop</prop></props>
		</property>
	</bean>
</beans>

Talvez eu tenha que configurar algo mais… se alguem me souber dizer o que… mais uma vez fico agradecido!

André de Souza

O fato de não estar logando parece mais configuração do Log4J.

Poderia mostrar o seu log4j.properties ? O problema parece estar por lá…

[],
AC

Ola,

    Sem problemas, irei postar o meu log4j.properties, mas nao sei se vem dai o problema, pois eu sempre usei o mesmo em todas as minhas aplicacoes e funciona legal, so nao funcionou agora integrado com o spring...
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# set root logger level to debug and its only appender to mtf
log4j.rootLogger=INFO,development

# only for development purposes
log4j.appender.development=org.apache.log4j.ConsoleAppender
log4j.appender.development.layout=org.apache.log4j.PatternLayout
log4j.appender.development.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n

log4j.logger.noModule=FATAL
log4j.logger.org.springframework=WARN

# Log JDBC bind parameter runtime arguments
log4j.logger.org.hibernate.type=DEBUG

sera que eu tenho que acrescentar algo no meu applicationContext.xml?

O problema pode estar na ide e o nivel de log…

pode estar só mostranto log de ero .

veja as propriedades… run/debug/console

ou até mesmo depois que startar o console seta o nivel de log… pra info, warning… etc…

Como esta a propriedade rootCategory no log4j.properties?

Adicione essa linha

log4j.rootCategory=INFO, stdout

Como vc se referencia ao log4j nas classes?

Ola, na verdade nao estou me referenciando em nenhum local, pois usando apenas o hibernate sem spring, ele fazia o log tranquilamente, apenas jogando o log4j.properties no classpath, agora usando o spring ele nao mostra os logs, por exemplo, quando vou usar schemaExport, ele nao mostra o sql gerado, e etc, no meu applicationContext.xml, eu declarei a opcao show_sql como true, o problema deve vir de outro lugar, mas nao faço idéia do que mais pode ser…

André de Souza

qual IDE ?

vai em Windows/Preference/Run/Debug/Console

ou vai no administrador do console e ve o nível de log…

Esta Normal, testei com um outro projeto e a o log era exibido normalmente, estou usando Eclipse Ganymede, sera que eu deve referencar o log4j em algum local no contexto do spring?

Abraços e Obrigado pelas respostas

André de Souza

mas vc falow q não estava usando spring…

agora confundiu…

ta usando Annotation ?

senão kd os .hbm ? das entidades do banco

uma dica é se o outro projeto está funcionando da uma olhada como esta configurado.

mas se for só o schemaExport

tenta se for
Hibernate 2
log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug

Hibernate 3
log4j.logger.org.hibernate.tool.hbm2ddl=debug

Sim, rs eu estou usando o Spring, tanto que no inicio do topico postei meu applicationContext.xml, mas vou te explicar o que esta acontecendo, eu estou usando hibernate Annotations, e tenho um hibernate.hbm.xml mapeando elas, até ai tudo bem, como voce pode ver no inicio do topico, todas as configuracoes do hibernate estao dentro de applicationContext do spring, retirando os oturos xmls e properties do projeto, eu tenho um bean do spring que se chama LocalSessionFactory, e é atravez dele que estou gerando as minhas tabelas, alias, atravez da configuracao dele, eu uso o seguinte para gera as tabelas

new SchemaExport(factory.getConfiguration);

e ele gera tudo certinho… o problema chega quando eu preciso dos logs, ou seja, se gera, se da erro, ou nao, ele nao vai mostrar os logs, so as exceptions, e as propriedades show_sql e format_sql estao habilitadas no applicationContext! sinceramente nao entendo o que esta acontecendo mesmo, pois o log4j esta no classpath, a menos que eu tenha que colocar as configuracoes dele tambem no aplicationContext.xml, mas isso nao sei como devo fazer, mesmo assim, obrigado pela resposta, esta ajudando muito! fico em divida consigo

Abraços

André de Souza

Sim, rs eu estou usando o Spring, tanto que no inicio do topico postei meu applicationContext.xml, mas vou te explicar o que esta acontecendo, eu estou usando hibernate Annotations, e tenho um hibernate.hbm.xml mapeando elas, até ai tudo bem, como voce pode ver no inicio do topico, todas as configuracoes do hibernate estao dentro de applicationContext do spring, retirando os oturos xmls e properties do projeto, eu tenho um bean do spring que se chama LocalSessionFactory, e é atravez dele que estou gerando as minhas tabelas, alias, atravez da configuracao dele, eu uso o seguinte para gera as tabelas

new SchemaExport(factory.getConfiguration);

e ele gera tudo certinho… o problema chega quando eu preciso dos logs, ou seja, se gera, se da erro, ou nao, ele nao vai mostrar os logs, so as exceptions, e as propriedades show_sql e format_sql estao habilitadas no applicationContext! sinceramente nao entendo o que esta acontecendo mesmo, pois o log4j esta no classpath, a menos que eu tenha que colocar as configuracoes dele tambem no aplicationContext.xml, mas isso nao sei como devo fazer, mesmo assim, obrigado pela resposta, esta ajudando muito! fico em divida consigo

Abraços

André de Souza

Desculpem o post dobrado… é que quando fui gravar a mensagem me apareceu um erro do tomcat, depois voltei, e cliquei em salvar novamente, resultado, dois posts… rs desculpem, nao foi por querer

André de Souza