| # Loggerクラス S2Containerの中にはlog4jをラップした便利なLoggerクラスがあります。 ## 目次 主要クラス プロパティファイル メッセージの命名規約 メッセージ種別 log()メソッド log()メソッドの使用例 ## 主要クラス org.seasar.framework.log.Logger Commons Loggingをラップしたクラス(Log4jはCommons Loggingで設定) 内部的には次のMessageFormatterを利用している org.seasar.framework.message.MessageFormatter java.text.MessageFormatと (S2.3)java.util.ResourceBundle (S2.4)org.seasar.framework.message.MessageResourceBundleを内部で利用している 以下はSMART deploy対応のメッセージバンドルを定義しているクラス org.seasar.framework.message.MessageResourceBundle org.seasar.framework.message.MessageResourceBundleFacade org.seasar.framework.message.MessageResourceBundleFactory ## プロパティファイル Loggerの出力メッセージを定義するファイルです。 XXXMessages.properties 「XXX」がシステム名になる。 XXXMessages_ja.properties 日本語対応する場合は、ロケールに合わせたプロパティファイルを用意する。 #### 例：SSRMessages.properties 以下はS2Containerで使用しているメッセージ用プロパティファイルです。
    ESSR0001={0} not found
    ESSR0002=<{0}> expected:<{1}> but actual:<{2}>
    ESSR0003=<{0}> unexpected:<{1}>
    ESSR0004={0} not found from {1}
    ESSR0007={0} should not be null or empty
#### メッセージの命名規約 メッセージ[　ESSR0001={0} not found　]は次の規則に沿って作られています。
    メッセージ種別(1字)　＋　システム名　＋　連番(4桁)　＝　メッセージ内容
#### メッセージ種別 メッセージの頭１文字はそのメッセージの種別を表しています。
メッセージ種別 | 表記(１字)
--- | ---
FATAL | F
ERROR | E
WARN | W
INFO | I
DEBUG | D
## log()メソッド org.seasar.framework.log.Loggerのlog()メソッドは2種類あります。 public final void log(String messageCode, Object[] args) 内部的には次のlog()メソッドの第3引き数をnullにして呼び出す public final void log(String messageCode, Object[] args, Throwable throwable) 3つの引数を持つlog()メソッドは、内部でメッセージコードからメッセージ種別を判別し、対応するCommons Loggingのメソッド （debug, info, warn, error, fatal）を呼び出します。 #### log()メソッドの使用例 org.seasar.framework.log.Logger.getLogger()メソッドでLoggerクラスのインスタンスを取得します。
        logger.log("DRMI0001", new Object[] { Integer.toString(this.registryPort) });
実際に表示される内容は以下の通り。
    DEBUG 2005-06-01 00:44:49,616 [main] RMIレジストリをポート 1108 で作成しました。
| Copyright© 2004-2005, The Seasar Foundation and the others. All rights reserved.