| Apache | Jakarta | POI |
Poi UtilsロギングPOIにおけるロギング(ログ取得)は、単にデバッグ用途の機能でしかありませんで、通常のランタイムのロギングシステムとは異なります。ロギングは、自動的な鸚鵡返し式のデバッグ用のみであり、製品システム向けではオンにすべきではありません。ロギングをオンにすると、少なくとも100ものパフォーマンス減少の要因となります。POIを開発するにあらず、POIがファイルを正常に読みこまない理由を探るべくデバッグを試みるにあらずんば、ロギングをオンにするのはやめましょう。警告が出ます。 故に、我々は完全にロギングをオフに簡単に出来るようにしなければならず、また、POIが他の如何なるロギング・パッケージに依存しないようにしておかなければならないわけです。 Warning
POIは、実行時にはcommons-loggingに依存していませんが、コンパイル時には依存しています。
ロギング・概要全てのクラスは、ログを取るためにPOILoggerを使っており、POILogFactoryのstaticメソッドを使ってログを得ています。 POILogFactoryは、デフォルトでNullLoggerを使います:システムプロパティorg.apache.poi.util.POILoggerをセットすることで、POILoggerのいかなる他の実装も使えるよう指示することができます。 Note
java -Dorg.apache.poi.util.POILogger=the.package.of.MyPoiLoggerImpl ProgramThatUsesPoi
Fixme (nicolaken)
依然としてテストが必要です・・
POILogFactoryPOIないの各々のクラスは、POILogFactoryのstaticメソッドを呼ぶことで、そのPOILoggerを取得しています。 POILoggerPOI内の各々のクラスは、POILoggerを使ってログを取ることが出来ます。これは、抽象クラスです。独自のロギング実装を使えるようにする事が出来ます。なぜなら:
3つの実装が使用可能であり、org.apache.poi.util.POILoggerをextendすることで独自のものに拡張することも出来ます。 NullLogger全てのロギング・リクエストを破棄します SystemOutLogger全てのロギング・リクエストをSystem.out.に送ります CommonsLogger全てのロギング・リクエストをJakarta Commons Logging パッケージに送ります。JDK1.4のロギングや、log4j、logkit(訳注:Avalon関連)が使え、Jakarta Project(訳注:Commonsで)で活発に維持されているものであります。 |
Special Thanks -- 【お問い合わせ/テキスト広告】
|