【问题标题】:Show logging parameter for (INSERT,UPDATE,SELECT) in EclipseLink JPA在 EclipseLink JPA 中显示 (INSERT,UPDATE,SELECT) 的日志记录参数
【发布时间】:2016-12-09 03:00:28
【问题描述】:

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

【问题讨论】:

  • 所以该帖子上接受的答案可以满足您的需求...
  • 是的,但它直到两天才被接受才能自我接受;)

标签: 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.sqlFINE

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

参考:Documentation,Wiki Ecipse link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2019-05-16
    相关资源
    最近更新 更多