次のように、中央ログ (またはおそらく 2 つ、それぞれがテストまたは本番専用) サーバーをセットアップするのに最適な方法は次のとおりです。
コードが条件文を参照していることを心配する必要はありません。これにより、製品エラー以外のエラーが製品エラー log4j バスに誤って記録される可能性があります。つまり、次のようなコードは必要ありません。
if (!production)
logWrapper.logTest(error);
else
logWrapper.logProd(error);
サーバー名などを密結合して参照し、コードは prod と test の 2 つのサーバー名のいずれかでしか機能しないため、これは望ましくありません。また、開発者がこれを正しく設定せず、ロギング リポジトリを汚染する可能性があるため、これを設定で宣言的に設定することもできません。助言がありますか?
いくつかの詳細、一部は考慮に入れませんが、とにかくそれらをリストします。
- 現在、 Oracle Application Server 10.1.3.4 で実行され、将来は Oracle WebLogicで実行される Web アプリケーションのみ
- http://timarcher.com/?q=node/10 ...例外として、中央サーバーはテキスト ファイルをログに記録し、メール送信は行いません!
- log4j を使用し、slf4j 経由でラップされる可能性があります (slf4j について言及するのはちょっと不謹慎なので、ほとんど無視してください..)