2

我正在尝试在 scout 应用程序中设置日志记录,所以我正在尝试设置 PAX-logger。

我将pax-logging-api-1.7.0.jar,pax-logging-service-1.7.0.jar和添加pax-confman-propsloader-0.2.1.jar到我的目标中。

我将这三个都导入说唱产品。在config.ini 我添加

### Logging

log4j.rootLogger=DEBUG, A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

#default layout:
#log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%-30.30t] %-40.40c %x - %m%n


log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.FILE.File=/Users/marko/Desktop/log.out
log4j.appender.X.layout=org.apache.log4j.PatternLayout

#A2 layout:
log4j.appender.X.layout.conversionPattern=%m%n


log4j.logger.org.springframework.osgi=DEBUG
log4j.logger.org.springframework=INFO
log4j.logger.org.apache.wicket=INFO
log4j.logger.org.mortbay=INFO

log4j.logger.org.apache.wicket.util.thread=INFO
log4j.logger.org.compass.core.lucene.engine.optimizer.ScheduledLuceneSearchEngineOptimizer=INFO
log4j.logger.org.springframework.osgi.extender.internal.support.NamespaceManager=INFO
log4j.logger.org.springframework.osgi.extender.internal.support.NamespacePlugins=INFO

我也config.ini加了

osgi.bundles=org.eclipse.equinox.cm@1\:start,org.ops4j.pax.logger.*@2\:start,org.ops4j.pax.confman.propsloader@2\:start

如果我启动应用程序日志将登录到控制台但不在文件中。并且控制台内的日志没有格式化,因为它是在 config.ini 中设置的。然后我发现我没有包含org.service.cm在产品中。当我在产品中添加这个时,我有错误:

org.osgi.framework.BundleException: Could not resolve module: org.eclipse.equinox.cm [1]
 Unresolved requirement: Import-Package: org.osgi.service.cm; version="[1.5.0,1.6.0)

就算我里面有这个包裹org.apache.felix.configadmin

我遵循以下说明:https ://ops4j1.jira.com/wiki/display/paxlogging/PaxLogging+inside+PDE

https://ops4j1.jira.com/wiki/display/paxlogging/How+to+use+Pax+Logging+in+my+bundles

我担心的是:

确保 log4j.jar、commons-logging.jar 和您要使用的任何其他遗留 API 不包含在您的 bundle jar 中。

如果这是可能的,我不支持。(docx4j 使用 log4j)

4

0 回答 0