gpt4 book ai didi

logging - OpenJPA 在 WAS 7 上部署时不记录日志

转载 作者:行者123 更新时间:2023-12-02 15:40:15 24 4
gpt4 key购买 nike

我已将应用程序部署到 WebSphere Application Server 7,它使用应用程序服务器中的默认 OpenJPA 1.2.2 库,但是,我无法记录它,我的 persistence.xml 中有此内容

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="SvcsLogic" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>jdbc/mydatasource</jta-data-source>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="openjpa.log" value="log4j, DefaultLevel=TRACE" />
<property name="openjpa.Log" value="log4j, DefaultLevel=TRACE" />

<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(SchemaAction='add',foreignKeys=true)" />
</properties>
</persistence-unit>
</persistence>

但是,它会忽略我希望它使用 log4j 进行日志记录的事实,即使我删除 log4j 设置,它也不会修改 WAS 的日志和跟踪中的日志记录 channel 。我已经将所有内容设置为记录所有内容只是为了确保,但它不起作用。

The WAS Infocenter doc on JPA Logging然而,说,避免麻烦:如果“openjpa.Log”属性是在使用应用程序服务器提供的持久性提供程序的容器管理持久性单元中定义的,则该属性将被忽略。在这种情况下,您必须使用应用程序服务器的标准跟踪规范。

这是否意味着我必须更改 JPA 实现才能使日志记录正常工作?如果是这样,这就显得相当草率了。

最佳答案

在我看来,了解 OpenJPA 在 WebSphere v7 中幕后所做的事情的唯一方法是在管理控制台中启用跟踪。

要在管理控制台中激活 OpenJPA 跟踪,请导航至故障排除 - 日志和跟踪 - [您的服务器] - 诊断跟踪。在配置页面上,单击右侧的“更改日志详细级别”。展开组件树并选择 OpenJPA 日志详细信息级别输入

*=info: openjpa.Query=all: openjpa.jdbc_JDBC=all: openjpa.jdbc_SQL=all

进入文本字段。单击“确定”,然后单击“保存”。您必须重新启动服务器。

关于logging - OpenJPA 在 WAS 7 上部署时不记录日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com