在 WebLogic 11g 中运行应用程序时,如何为 OpenJPA 启用调试日志记录?我尝试了Logging JPA SQL with Weblogic 10.3给出的步骤,但服务器日志中没有出现 OpenJPA 日志语句。我还翻阅了有关日志记录配置的 WebLogic 文档,但不清楚如何为此特定子系统 (JPA) 启用调试日志记录。有任何想法吗?
3 回答
呸!我刚刚解决了这个问题,它的原因非常令人沮丧!
当我通过 WebLogic 控制台([我的域] -> 环境 -> 服务器 -> [我的服务器] -> 日志选项卡)为我的服务器配置日志记录时,我在“跟踪”和“严重级别”设置了“记录的最低严重性” " 将服务器日志文件设置为“调试”(两者都是“高级”下的选项)。值得注意的是,“严重级别”选择框没有提供“跟踪”选项。因此,当我保存配置时,服务器日志级别设置为调试。从那以后,我了解到大多数 Kodo(和 OpenJPA 的?)日志记录都处于 Trace 级别,这就是为什么我看不到任何 JPA 日志记录的原因,即使在通过“调试”选项卡启用 JPA 子系统的调试之后也是如此。
“严重级别”选择框旁边的描述说“默认情况下,所有消息都进入日志文件”,所以如果我没有尝试配置日志记录,我就不会遇到这个问题。为了在服务器日志中查看 Kodo 跟踪日志,我必须打开我的 config.xml 文件 (user_projects\domains[my domain]\config\config.xml) 并删除 .
因此,我很困惑为什么 WebLogic 控制台不提供“跟踪”作为“日志记录”选项卡的“高级”部分下的“严重级别”选择框的选项。这是疏忽,还是我错过了疏忽的充分理由?
您是否尝试使用persistence.xml
文件中的以下属性启用详细日志记录:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0">
<persistence-unit name="example-logging" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="openjpa.Log" value="SQL=TRACE"/>
</properties>
</persistence-unit>
</persistence>
EclipseLink 的设置:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0">
<persistence-unit name="example-logging" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="eclipselink.logging.level" value="FINE" />
<property name="eclipselink.logging.level.sql" value="FINE" />
</properties>
</persistence-unit>
</persistence>