2

scoutアプリでロギングを設定したいので、PAX-loggerを設定しようとしています。

pax-logging-api-1.7.0.jarpax-logging-service-1.7.0.jarおよびpax-confman-propsloader-0.2.1.jarをターゲットに追加します。

3つすべてをラップ製品にインポートします。追加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 がバンドル jar に含まれていないことを確認してください。

これが可能であれば、私は岸にいません。(docx4j は log4j を使用)

4

0 に答える 0