如何使用Pax Logging配置OpenJPA日志记录?

时间:2012-11-29 13:35:21

标签: openjpa apache-karaf pax

如何配置OpenJPA以在Karaf中使用Pax Logging?根据我找到的几个主题(例如log4j error with pax-logging),似乎设置了

<property name="openjpa.Log" value="commons" />
persistence.xml和

中的

(或slf4j

log4j.category.openjpa.Tool=INFO
log4j.category.openjpa.Runtime=INFO
log4j.category.openjpa.Remote=INFO
log4j.category.openjpa.DataCache=INFO
log4j.category.openjpa.MetaData=INFO
log4j.category.openjpa.Enhance=INFO
log4j.category.openjpa.Query=INFO
log4j.category.openjpa.jdbc.SQL=INFO
log4j.category.openjpa.jdbc.SQLDiag=INFO
log4j.category.openjpa.jdbc.JDBC=INFO
log4j.category.openjpa.jdbc.Schema=INFO
org.ops4j.pax.logging.cfg 中的

应该工作,但它不适合我。版本是:OpenJPA 2.2.0,Karaf 2.3.0,Pax Logging 1.7.0。 OpenJPA日志导入被正确解析为Pax Logging:

karaf@root> imports 106
...
OPS4J Pax Logging - API (4): org.apache.commons.logging; version=1.1.1
OPS4J Pax Logging - API (4): org.apache.commons.logging; version=1.0.4
OPS4J Pax Logging - API (4): org.apache.log4j; version=1.2.15
OPS4J Pax Logging - API (4): org.slf4j; version=1.7.1
OPS4J Pax Logging - API (4): org.slf4j; version=1.6.6
OPS4J Pax Logging - API (4): org.slf4j; version=1.5.11
OPS4J Pax Logging - API (4): org.slf4j; version=1.4.3
...

编辑:我刚注意到此版本的Pax Logging导出org.apache.log4j,但如果我将openjpa.Log设置为log4j,我的捆绑包无法正常启动:

2012-11-29 17:40:28,931 | INFO  | rint Extender: 1 | BlueprintContainerImpl           | container.BlueprintContainerImpl  330 | 7 - org.apache.aries.blueprint.core - 1.0.1 | Bundle ru.focusmedia.odp.server.datastore.jpa is waiting for dependencies [(&(&(!(org.apache.aries.jpa.proxy.factory=*))(osgi.unit.name=ODP_Server))(objectClass=javax.persistence.EntityManagerFactory))]

并且由于某种原因它无法获得此依赖关系。

1 个答案:

答案 0 :(得分:2)

我正在使用以下内容,它非常适合我:

<property name="openjpa.Log" value="slf4j" />

如果需要你也可以添加 log4j.category.openjpa ,但我并不需要它。