[RESOLVIDO] Ajuda configurando o log4j

Boa tarde,

baixar o arquivo apache-log4j-2.0-alpha2-bin.tar.gz

Extrai e adicionei todos os .jar ao meu projeto.

Crie uma Source Folder na raiz do projeto. Nela coloquei o log4j.properties, com as seguintes configurações:

log4j.rootCategory=INFO, CONSOLE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%r [%t] %-5p %c - %m%n

Verificando no banco, o sistema persiste normalmente, mas no console não aparece o log, mas percebi um erro, segue o resultado do console:

[code]
02/09/2012 13:34:31 org.hibernate.annotations.common.Version
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
02/09/2012 13:34:31 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.3.Final}
02/09/2012 13:34:31 org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
02/09/2012 13:34:31 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
02/09/2012 13:34:31 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
02/09/2012 13:34:31 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
02/09/2012 13:34:31 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000006: Autocommit mode: true
02/09/2012 13:34:31 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000401: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/dbfundamentos]
02/09/2012 13:34:31 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000046: Connection properties: {user=postgres, password=****, autocommit=true, release_mode=auto}
02/09/2012 13:34:32 org.hibernate.dialect.Dialect
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL81Dialect
02/09/2012 13:34:32 org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
02/09/2012 13:34:32 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory
02/09/2012 13:34:32 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory
INFO: HHH000397: Using ASTQueryTranslatorFactory
02/09/2012 13:34:32 org.hibernate.search.Version
INFO: HSEARCH000034: Hibernate Search 4.1.1.Final
02/09/2012 13:34:32 org.hibernate.search.impl.ConfigContext getLuceneMatchVersion
WARN: HSEARCH000075: Configuration setting hibernate.search.lucene_version was not specified, using LUCENE_CURRENT.
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000228: Running hbm2ddl schema update
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000102: Fetching database metadata
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000396: Updating schema
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000261: Table found: public.tbendereco
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000037: Columns: [cidade, bairro, complemento, cep, uf, idendereco, logradouro, numero]
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000108: Foreign keys: []
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.TableMetadata
INFO: HHH000126: Indexes: [tbendereco_pkey]
02/09/2012 13:34:32 org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
EnderecoHermenegildo Gomes de CastroGravado com Sucesso
/code]

O erro que apareceu:

INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException

Mas acho que não tem nada a ver com o Logger.

Alguém pode me ajudar? Configurei o Logger de maneira errada?

Grato.

Boa Noite,

Deve ser um problema no arquivo de configurações do Hibernate.

Da uma verificada nesse post http://stackoverflow.com/questions/9545693/how-to-fix-error-with-my-first-hibernate-project

Você precisa informar ao Hibernate como irá tratar os seus campos BLOB, CLOB.

A sua solução é:

setar para false a  propriedade hibernate.temp.use_jdbc_metadata_defaults

abcs.

Se eu seto para false, acontece o seguinte erro:

11/09/2012 20:59:08 org.hibernate.annotations.common.Version <clinit> INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 11/09/2012 20:59:08 org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {4.1.3.Final} 11/09/2012 20:59:08 org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found 11/09/2012 20:59:08 org.hibernate.cfg.Environment buildBytecodeProvider INFO: HHH000021: Bytecode provider name : javassist 11/09/2012 20:59:09 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) 11/09/2012 20:59:09 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure INFO: HHH000115: Hibernate connection pool size: 20 11/09/2012 20:59:09 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure INFO: HHH000006: Autocommit mode: true 11/09/2012 20:59:09 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure INFO: HHH000401: using driver [org.postgresql.Driver] at URL [jdbc:postgresql://localhost:5432/dbfundamentos] 11/09/2012 20:59:09 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure INFO: HHH000046: Connection properties: {user=postgres, password=****, autocommit=true, release_mode=auto} Exception in thread "main" java.lang.ExceptionInInitializerError at br.com.factory.EnderecoDao.<init>(EnderecoDao.java:16) at br.com.controller.ClienteController.getEndereco(ClienteController.java:27) at br.com.controller.ClienteController.getCliente(ClienteController.java:69) at br.com.modelo.beans.Main.main(Main.java:22) Caused by: javax.persistence.PersistenceException: [PersistenceUnit: dbFundamentosJPAPU] Unable to build EntityManagerFactory at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at br.com.factory.ConnectionFactory.<clinit>(ConnectionFactory.java:12) ... 4 more Caused by: org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:97) at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:67) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:178) at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2277) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2273) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1742) at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905) ... 9 more

Minha configurações:

[code]<?xml version="1.0" encoding="UTF-8"?>


org.hibernate.ejb.HibernatePersistence
br.com.modelo.beans.cliente.Endereco
br.com.modelo.beans.cliente.Telefone
br.com.modelo.beans.cliente.Cliente
br.com.modelo.beans.pedido.Pedido
br.com.modelo.beans.pedido.PedidoItem
br.com.modelo.beans.pedido.TipoItem

<properties>
  <property name="hibernate.connection.username" value="postgres"/>
  <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
  <property name="hibernate.connection.password" value="senha"/>
  <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/dbfundamentos"/>
  <property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
  <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
  <property name="hibernate.hbm2ddl.auto" value="update"/>
  
</properties>
[/code]