如何将OpenJPA配置为在Karaf中使用Pax日志记录?根据我发现的几个线程(例如使用pax日志记录的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,Karaf2.3.0,Pax 1.7.0。正确地将OpenJPA日志记录导入解析为Pax日志记录:
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日志导出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))]由于某种原因,它无法获得这种依赖。
发布于 2012-12-03 09:55:38
我使用了以下方法,它对我来说很好:
<property name="openjpa.Log" value="slf4j" />如果需要的话,您也可以添加log4j.category.openjpa,不过我并不需要它。
https://stackoverflow.com/questions/13627019
复制相似问题