Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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 JPA

Quantidade 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)
É um log realmente enorme, não? É claro que fazemos isso somente em tempo de depuração da aplicação. Quando a colocamos em produção, podemos facilmente desabilitar o log fornecendo o valor "OFF".

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.

Link para compartilhar na Internet ou com seus amigos:

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 33 usuários muito felizes estudando em nosso site.