在EclipseLink JPA中显示(INSERT,UPDATE,SELECT)的日志记录参数

时间:2016-08-03 11:49:07

标签: jpa glassfish eclipselink

我使用 persistence.xml 中的日志记录来进行EclipseLink JPA实现 stackoverflow reference 但参数显示为 ? 如何在我的glassfish日志输出窗口中正确显示它们。

1 个答案:

答案 0 :(得分:2)

日志级别配置包含在 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 精细

此属性还将控制在异常中记录参数的方式。默认情况下,仅记录参数的日志级别&lt;的 CONFIG

Refernce:DocumentationWiki Ecipse link