2017-01-10 12 views
0

AspectJとSlf4jを使用してJavaアプリケーションにログを追加します。基本的側面は、ちょうどこのやり方でSLF4J法にdelegeates:SLF4Jロガーはコンソールに何も印刷しません

package my.domain.com; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public aspect MyAspectLogger { 

    private Logger logger; 

    public MyAspectLogger() { 
     this.logger = LoggerFactory.getLogger("MyAspectLogger"); 
    } 

    pointcut callSomeFunction(): call(* de.my.domain.MyClass.*()); 

    before() : callSomeFunction() { 
     logger.error("**** (Before) Called something in MyClass ****"); 
    } 

    after() : callSomeFunction() { 
     System.out.println("**** (After) Called something in MyClass ****"); 
    } 
} 

なぜSystem.out.println()印刷メッセージが、logger.error()がメッセージを印刷しないのですか?

+1

クラスパスにlogbackのようなSLF4J実装がありますか? – nille85

+0

あなたのヒントのおかげで: 'slf4j-simple'をクラスパスに追加した後、ロガーは機能しています。 – kiltek

+0

次に、@ nille85のどちらかが答えを書いて、kiltekがそれを受け入れて質問を閉じるか、kiltekが質問をまとめて削除することを提案します。そして、私は実際の問題に関連するように、件名とタグを編集しました。これは決してAspectJには関係しません。 – kriegaex

答えて

1

クラスパスにlogbackのようなSLF4J実装があることを確認する必要があります。

+0

また、その実装はNOOPではありません。 – rkosegi

関連する問題