2017-01-10 3 views
0

Я хочу добавить запись в мое приложение Java с помощью AspectJ и Slf4j. В основном аспект просто delegeates к методам SLF4J в этой моде:Логгер 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

У вас есть реализация SLF4J, например, logback на вашем пути к классу? – nille85

+0

Благодаря вашему намеку: после добавления 'slf4j-simple' в мой путь к классам, журнал работает. – kiltek

+0

Затем я предлагаю, чтобы либо @ nille85 написал ответ, и kiltek принял его, чтобы закрыть вопрос, или киттек полностью удалил вопрос. И BTW, я отредактировал тему и теги, чтобы относиться к реальной проблеме. Это никак не связано с AspectJ. – kriegaex

ответ

1

Вы должны убедиться, что существует реализация SLF4J, такая как logback на пути к классам.

+0

А также, что реализация не является NOOP. – rkosegi

Смежные вопросы