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: 3220 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:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- [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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // 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. |
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 |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |