log4jを使用してApachePOIAPI内で実行される操作をログに記録しようとしています。
プロパティファイルに次の構成があります。
log4j.logger.org.apache.poi=DEBUG, apachepoi
log4j.additivity.apachepoi=false
log4j.appender.apachepoi=org.apache.log4j.DailyRollingFileAppender
log4j.appender.apachepoi.DatePattern='.'yyyy-MM-dd
log4j.appender.apachepoi.File=c:\\logs\\apachepoi.log
log4j.appender.apachepoi.layout=org.apache.log4j.PatternLayout
log4j.appender.apachepoi.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %x: %m%n
また、NetBeansを使用して、次のVMオプションを割り当てています。
Dorg.apache.poi.util.POILogger=org.apache.poi.util.CommonsLogger -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger -Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
「apachepoi.log」ファイルが作成されますが、行は書き込まれません。最も奇妙なこと:JBossインスタンスへのVMオプションがある場合、ApachePOIの操作がログに記録されます。問題は、スタンドアロンアプリケーションで必要になることです
- 編集
Linux環境でも試してみましたが、同じままです。JBossを使用すると、ログは書き込まれますが、スタンドアロンアプリでは書き込まれません。