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: 3279 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:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


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:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Podemos manipular esta propriedade também em tempo de execução. Basta usar um código parecido com:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


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.