読者です 読者をやめる 読者になる 読者になる

起動ログで、SMART deploy/env.txtの内容が出力されるとうれしい

Seasar2

S2.4から導入さてたSMART deployでは、HOT/COOL/WARMという3種類のデプロイ方法があります。
これらは、env.txtという設定ファイルに環境変数を指定することで、簡単に切り替えて実行することが可能になっています。


また、env.txtは、SMART deployのためだけでなく、環境の違いによりdiconを切り替えて使いたい場合にも利用できます。そのため、環境変数の設定ミス等による、実行時の失敗手間をかなりの確率で低減できます。


個人の開発環境と、結合/総合テストの実行環境、運用環境で設定値が異なる、というのは一般的ですが、これまでは、定義ファイルを切り替えるために、バッチやシェルなどを作成することが多かったのではないでしょうか?


env.txtでut/itなどと指定しておき、それに合わせたdiconファイルを用意しておけば、後は、env.txtの内容を書き換えるだけで、環境に合わせた設定で起動できるようになります。


ただ、ウッカリ思っていた環境変数と違う値を指定していた、なんてこともあると思います。

    • env.txtの値を書き換えるのを忘れていた
    • jar/warファイルに、env.txtが誤って含まれていた


そんなとき、起動(S2Containerの初期化)ログに、

    • SMART deployがHOT/COOL/WARMのどのモードで起動されたか?
    • env.txtの設定値は何か?

という内容が出力されていると、問題切り分けが容易になると思います。

ログレベルをDEBUGにしておくと、コンポーネント登録時のログである程度分かるのですが、テストのときなどを考えると、INFOあたりでログが出力されるとうれしい。


間違えるケースは少ないと思っていたんですが、S2を使い始めたばかりの人にとっては、ハマりやすいところだと思います。