我使用 persistence.xml 中的日志记录来进行EclipseLink JPA实现
stackoverflow reference
但参数显示为 ?
如何在我的glassfish日志输出窗口中正确显示它们。
答案 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:Documentation,Wiki Ecipse link