S2のログ

1年くらいになるか、Seasar2を検討していてそのときは仕事での採用を見送った。
個人的には諦めきれていないところがあるので、再度、触ってみることにする。あまりの忘れ具合に(というか、完全に忘れ去ってる)、ちょっと気持ちが萎えた。ぐっと堪える。
クイックスタートした後、気まぐれにログを眺めてみる。なるほど、ログも規約ベースってことか。
Log4Jがベース。

  • メッセージリソース(プロパティファイル)
    • ファイル名:<システム名:3桁>Messages.properties。必要に応じてロケールを付ける。クラスパスのルートに配置?(でとりあえずは動いた)
    • メッセージID:<種別:1桁><システム名:3桁><連番:4桁>。
      • 種別 F=Fatal、E=Error、W=Warn、I=Info、D=Debug
      • システム名はメッセージリソースに合わせる。
  • ログ出力
    • org.seasar.framework.log.Loggerのlog()メソッドを使用する。第一引数がメッセージID。メッセージIDからリソースファイルを特定する。
    • Loggerの取得:org.seasar.framework.log.Logger.getLogger()メソッドでLoggerクラスのインスタンスを取する。
  • log4j.propertiesの設定は忘れずに