scoutアプリでロギングを設定したいので、PAX-loggerを設定しようとしています。
pax-logging-api-1.7.0.jar
、pax-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 を使用)