1

特定のメッセージ タイプを受け取り、それを MongoDB クラスターにダンプする log4j アペンダーを作成しました。「監査」としましょう

私はこのようなことができるようにしたい:

logger.debug (new AuditEntry (...));

任意のクラスから、log4j が「AuditEntry」タイプのログ メッセージを自動的に監査アペンダーにルーティングするようにします。これは可能ですか?これまでにこれを行うことができた唯一の方法は、rootLogger チェーンにアペンダーを追加することです。

log4j.rootLogger=DEBUG, Console, Audit

しかし、もちろん、AuditEntry も toString() でコンソールに出力されます。可能であれば、これを避けたいと思います。

1 つの解決策を考えましたが、それが最適な解決策かどうかはわかりません。監査フィルターをチェーンの最初にします。

log4j.rootLogger=DEBUG, Audit, Console

そして、log4j アペンダー呼び出し "clearFilterChain()" 内で、まだこれを試していません... また、この関数に関するドキュメントも見つかりませんでした。

他の解決策はありますか?

4

0 に答える 0