0

まず、書籍「AspectJ in Action」の p.257 に記載されているように、トレースとロギングの違いを定義したいと思います。

ほとんどの開発者 (およびこの本) は、ログ記録を、コードによって実行されるロジックに固有のメッセージを生成する行為と呼んでいます。

トレースは、一般に、メソッドの開始と終了、オブジェクトの構築、例外処理、状態の変更など、低レベルのイベントのメッセージを生成する行為と見なされます。

したがって、AspectJ のトレースはそれほど難しくありません。しかし、ロギングを AspectJ トレースと一致させるにはどうすればよいでしょうか?

たとえば、アスペクトのトレースには sl4j ロガーを使用していますが、ログには同じロガーを使用する必要があります。

解決策の 1 つは、次のような個別のアスペクトを作成することです。

around(): catchCallToLogger(): *pointcut that intercepts calls like log(), debug(), info() etc from some logging toolkit* {
   *call logger from tracing aspect*
}

したがって、このオプションは受け入れられますが、この方法に代わる方法があるかどうか、およびトレースとログを組み合わせることが現実の世界で必要かどうかを知りたいです。

4

0 に答える 0