Karaf で Pax Logging を使用するように OpenJPA を構成するにはどうすればよいですか? 私が見つけたいくつかのスレッド (例: pax-logging での log4j エラー) によると、その設定のようです
<property name="openjpa.Log" value="commons" />
(またはslf4j
) persistence.xml および
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 exports のこのバージョンに気付きまし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))]
何らかの理由でこの依存関係を取得できません。