使用 JPA 记录应用程序
记录支持对应用程序的运行时行为进行查看、跟踪和故障诊断。Java™ Persistence API (JPA) 提供了一个灵活记录系统,与应用程序服务器集成以帮助您进行问题故障诊断。
关于此任务
您可以使用日志记录来帮助诊断问题。
- EclipseLink 的日志记录
- 容器管理的 JPA 应用程序支持的跟踪字符串:
- JPA=all
启用 JPA 容器跟踪
- eclipselink=all
启用所有 EclipseLink 跟踪(即 eclipselink.*=all)
- 特定于 EclipseLink 的日志类别
跟踪特定于 EclipseLink 的字符串(即 eclipselink.sql=all)
- JPA=all
- 应用程序管理的 JPA 应用程序支持的跟踪字符串:
运行应用程序管理的 JPA 应用程序时,日志记录和跟踪由 EclipseLink 运行时控制。所有 JPA 跟踪和日志记录必须通过 persistence.xml 文件中的 EclipseLink 持久性属性进行配置。
- 值得注意的日志记录持久性属性:
- eclipselink.logging.parameters
如果为“true”,那么 SQL 绑定参数包含在异常和日志中。
- eclipselink.logging.parameters
- OpenJPA 的日志记录
- 容器管理的 JPA 应用程序支持的跟踪字符串:
- JPA=all
启用 JPA 容器跟踪
- OpenJPA=all
启用所有 OpenJPA 跟踪(即 openjpa.*=all)
- 特定于 OpenJPA 的日志类别
跟踪特定于 OpenJPA 的字符串(即 openjpa.jdbc.SQL=all)
- JPA=all
- 应用程序管理的 JPA 应用程序支持的跟踪字符串:
运行应用程序管理的 JPA 应用程序时,日志记录和跟踪由 OpenJPA 运行时控制。所有 JPA 跟踪和日志记录必须通过 persistence.xml 文件中的 OpenJPA 持久性属性进行配置。
- 值得注意的 OpenJPA 日志记录持久性属性:
- openjpa.ConnectionFactoryProperties=PrintParameters=true
如果为 true,那么 SQL 绑定参数包含在异常和日志中。
- 如果 openjpa.Log 属性是在容器管理的持久性单元(该单元使用应用程序服务器随附的持久性提供程序)中定义的,那么它将被忽略。在这种情况下,您必须将标准跟踪规范用于应用程序服务器。
- openjpa.ConnectionFactoryProperties=PrintParameters=true
- 特定于 WSJPA 的跟踪信息
- WSJPA 的跟踪通道:
- wsjpa.pdq
跟踪存储管理器与 PDQ 运行时之间的所有交互
- wsjpa.Sqlgen
wsdbgen 程序的诊断跟踪
- wsjpa.pdq
过程
在 persistence.xml 文件内的持久性单元定义中,根据您所需的日志记录详细信息级别指定日志记录级别。 指定 eclipselink.logging.level 属性,其中的值为日志记录级别。有关可用日志记录级别列表,请参阅 EclipseLink 日志记录 Wiki 页面。以下示例将开启所有可用日志记录。
<persistence-unit name="pu">
<properties>
<property name="eclipselink.logging.level" value="ALL"/>
...
</properties>
</persistence-unit>