【问题标题】:Show logging parameter for (INSERT,UPDATE,SELECT) in EclipseLink JPA在 EclipseLink JPA 中显示 (INSERT,UPDATE,SELECT) 的日志记录参数
【发布时间】:2016-12-09 03:00:28
【问题描述】:
【问题讨论】:
标签:
jpa
glassfish
eclipselink
【解决方案1】:
日志级别配置包含在persistence.xml文件中持久化单元的定义中,如下:
可以通过以下属性启用或禁用 SQL 参数的日志记录:
禁用:
启用:
<property name="eclipselink.logging.level.sql" value="FINE"/>
<property name="eclipselink.logging.parameters" value="true"/>
完整的persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="ProjPU" transaction-type="JTA">
<jta-data-source>jdbc/POS</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.weaving" value="static" />
<property name="eclipselink.logging.level.sql" value="FINEST" />
<property name="eclipselink.logging.level" value="FINEST" />
<property name="eclipselink.logging.level.cache" value="FINEST" />
<property name="eclipselink.logging.parameters" value="true" />
</properties>
</persistence-unit>
</persistence>
注意:将 eclipselink.logging.level 设置为 FINE 是不够的(从 EclipseLink 2.4.0 - Juno 开始),您必须设置 eclipselink。 logging.level.sql 到 FINE。
此属性还将控制参数在异常中的记录方式。默认情况下,仅记录日志级别 CONFIG 的参数。
参考:Documentation,Wiki Ecipse link