4

アプリケーション ログ メッセージと監査メッセージの 2 種類のメッセージを記録する必要があるアプリケーションがあります。アプリケーション ログ メッセージは標準の lo4j とLogger完全に一致しますが、監査ログにはいくつかの必須パラメーターがあります。

debug()info()などのメソッドに必要なパラメーターを追加するには、log4j をラップする必要があると思いますが、log4j をラップするという考えは嫌いです。するべきか:

  1. log4j を完全にラップしLogger、舞台裏で log4j ロガーを呼び出す独自のクラスを提供しますか?
  2. log4jLoggerクラスを拡張し、必要なパラメーターを使用して「監査ログ」メソッドを追加しますか?
  3. ログライブラリをラップしないように、さらにエレガントなことをしてください...
4

4 に答える 4

4

次のようなログを作成するアプリケーション ログに log4j を使用できると思います。

private final static Logger log = new Logger(MyClass.class);

また、監査ログ用に特定のカテゴリを作成します。

private final static Logger log = new Logger("AuditTrail");

複数のクラスで共有できる別のアペンダーを使用すると、構成ファイルで必要に応じて出力先と形式を構成できます。

お役に立てれば。

于 2011-05-16T22:54:13.817 に答える
4

errorlog4j の、warnなどのメソッドの「メッセージ」はLogger任意のオブジェクトです。文字列である必要はありません。独自の「メッセージ」クラスを作成して、さまざまなパラメーターを含めることができます。Layoutロガーは、監査ロガーのアペンダーにカスタム クラスを使用することで、データを別の方法で追加できます。

于 2011-05-16T22:14:34.243 に答える
0

log4jのAPI NDC/MDCを読めるかもしれません。それがあなたを助けることを願っています。

于 2011-11-07T03:13:35.343 に答える