アプリケーションログメッセージと監査メッセージの2種類のメッセージをログに記録する必要があるアプリケーションがあります。アプリケーションログメッセージは標準lo4j Logger
と完全に一致しますが、監査ログにはいくつかの必須パラメータがあります。log4jをラップするかカスタムロガーを作成しますか?
私はdebug()
、info()
などのメソッドに追加の必須パラメータを追加するためにlog4jをラップする必要があると思いますが、私はlog4jをラップするという考えが嫌いです。
- ラップlog4jの完全かつscenese背後のlog4jロガーを呼び出し、自分の
Logger
クラスを提供します。私は必要がありますか? - log4j
Logger
クラスを拡張し、「監査ログ」メソッドに必要なパラメータを追加しますか? - も、よりエレガントなので、私は、ロギングライブラリをラップしていないよ何かする...
error
の
これは素晴らしい考えですが、開発者が監査ログエントリに必要なパラメータを提供するように強制する方法はありません。 – Brian
いいえ、ログメッセージのオブジェクトの性質を強制する(簡単な)方法はありません。実行時に失敗すること以外は(おそらくあなたが望むものではありません)。しかし、ロギングの多くは、とにかくベストプラクティスに関するものなので、ここでは一般的な意味でのロギングに関しては大きな違いはありません。 –
はい、私たちのロギングだけが「ベストプラクティス」であり、特定の状況ではお客様の要件によっては必要ではない場合。私は必要なパラメータを追加するためにlog4jをラップしていると思います。 – Brian