Você está aqui: JPA - Java Persistence Architecture API - Arquitetura de Persistência Java ::: Configurações ::: persistence.xml |
Usando a propriedade eclipselink.logging.level para definir o nível de log que o EclipseLink fará durante a execução de suas aplicações JPAQuantidade de visualizações: 3262 vezes |
Por padrão, a implementação JPA do EclipseLink registra (log) a operação de login e logout por sessão. Veja um exemplo:[EL Info]: 2013-05-31 12:40:50.346--ServerSession(1906304594)-- EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b [EL Info]: connection: 2013-05-31 12:40:50.896--ServerSession(1906304594) -- file:/C:/estudos_jpa/EstudosJPA/build/classes/_LocadoraService login successful [EL Info]: connection: 2013-05-31 12:40:51.118--ServerSession(1906304594) -- file:/C:/estudos_jpa/EstudosJPA/build/classes/_LocadoraService logout successful Porém, em algumas situações nós gostaríamos de desabilitar ou mudar a forma como o log das operações é feito. Para isso podemos usar a propriedade eclipselink.logging.level. Esta propriedade é definida no arquivo persistence.xml como um elemento <property>. Veja: <property name="eclipselink.logging.level" value="FINE"/> Podemos manipular esta propriedade também em tempo de execução. Basta usar um código parecido com: // vamos alterar a forma que o EclipseLink registra o log de operações Map propriedades = new HashMap(); propriedades.put("eclipselink.logging.level", "FINE"); // vamos criar o EntityManagerFactory a partir do contexto de persistência EntityManagerFactory emf = Persistence.createEntityManagerFactory("LocadoraService", propriedades); Agora o log é muito mais completo, inclusive mostrando os comandos SQL sendo passados da unidade de persistência para o banco de dados e vice-versa: run: [EL Config]: metadata: 2013-05-31 12:57:44.346--ServerSession(1630999763)-- Thread(Thread[main,5,main])--The access type for the persistent class [class entidades.Cliente] is set to [FIELD]. [EL Config]: metadata: 2013-05-31 12:57:44.401--ServerSession(1630999763)-- Thread(Thread[main,5,main])--The alias name for the entity class [class entidades.Cliente] is being defaulted to: Cliente. [EL Config]: metadata: 2013-05-31 12:57:44.438--ServerSession(1630999763)-- Thread(Thread[main,5,main])--The column name for element [id] is being defaulted to: ID. [EL Config]: metadata: 2013-05-31 12:57:44.441--ServerSession(1630999763)-- Thread(Thread[main,5,main])--The column name for element [email] is being defaulted to: EMAIL. [EL Config]: metadata: 2013-05-31 12:57:44.443--ServerSession(1630999763)-- Thread(Thread[main,5,main])--The column name for element [nome] is being defaulted to: NOME. [EL Info]: 2013-05-31 12:57:45.53--ServerSession(1630999763)-- Thread(Thread[main,5,main])-- EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b [EL Fine]: connection: 2013-05-31 12:57:45.96--Thread(Thread[main,5,main])-- Detected database platform: org.eclipse.persistence.platform.database.MySQLPlatform [EL Config]: connection: 2013-05-31 12:57:45.981--ServerSession(1630999763)-- Connection(358669786)--Thread(Thread[main,5,main])--connecting(DatabaseLogin( platform=>MySQLPlatform user name=> "root" datasource URL=> "jdbc:mysql://localhost/estudos" )) [EL Config]: connection: 2013-05-31 12:57:46.029--ServerSession(1630999763)-- Connection(1099483366)--Thread(Thread[main,5,main])--Connected: jdbc:mysql://localhost/estudos User: root@localhost Database: MySQL Version: 5.6.11 Driver: MySQL Connector Java Version: mysql-connector-java-5.1.25 ( Revision: ${bzr.revision-id} ) [EL Info]: connection: 2013-05-31 12:57:46.12--ServerSession(1630999763)-- Thread(Thread[main,5,main])--file:/C:/estudos_jpa/EstudosJPA/build/classes/_ LocadoraService login successful [EL Fine]: sql: 2013-05-31 12:57:46.208--ClientSession(1475449478)-- Connection(1099483366)--Thread(Thread[main,5,main])--INSERT INTO clientes (data_cadastro, EMAIL, NOME) VALUES (?, ?, ?) bind => [2013-05-31 12:57:46.171, carlos@arquivodecodigos.net, Carlos Augusto Marcelo Ramos] [EL Fine]: sql: 2013-05-31 12:57:46.284--ClientSession(1475449478)-- Connection(1099483366)--Thread(Thread[main,5,main])--SELECT LAST_INSERT_ID() [EL Config]: connection: 2013-05-31 12:57:46.342--ServerSession(1630999763)-- Connection(1099483366)--Thread(Thread[main,5,main])--disconnect [EL Info]: connection: 2013-05-31 12:57:46.343--ServerSession(1630999763)-- Thread(Thread[main,5,main])--file:/C:/estudos_jpa/EstudosJPA/build/classes/_ LocadoraService logout successful [EL Config]: connection: 2013-05-31 12:57:46.344--ServerSession(1630999763)-- Connection(358669786)--Thread(Thread[main,5,main])--disconnect Dados gravados com sucesso. CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos) Os valores possível para o nível de log no EclipseLink são: OFF - Desabilita o log. É recomendado quando colocamos a aplicação em produção para evitar a sobrecarga provocada pelo registro de logs. SEVERE - Faz o log das exceções indicando que o EclipseLink não consegue continuar, assim como quaisquer exceções lançadas durante a autenticação. Inclui o rastreio da pilha (stack trace). WARNING - Registra os logs que não forçam o EclipseLink a parar, incluindo todas as exceções não registradas com o nível SEVERE. Este nível não inclui o rastreio da pilha (stack trace). INFO - Padrão. Registra apenas as operações de login/logout por sessão, incluindo o nome de usuário. Uma vez adquirida a sessão, informações detalhadas são registradas. CONFIG - Faz o log apenas do login, conexão JDBC e informações da base de dados. Este nível é útil durante a fase de implantação (deployment time). FINE - Registra todos os logs das instruções (comandos) SQL. Este nível é recomendado durante a depuração e testes mas não recomendado após a implantação. FINER - Similar ao WARNING, mas inclui o rastreio da pilha. Este nível é recomendado durante a depuração e testes mas não recomendado após a implantação. FINEST - Similar ao FINER, mas inclui informações de nível mais baixo. Este nível é recomendado durante a depuração e testes mas não recomendado após a implantação. ALL - O mesmo que FINEST. |
![]() |
Veja mais Dicas e truques de JPA - Java Persistence Architecture API - Arquitetura de Persistência Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |