Ich möchte die Protokollierung in meine Java-Anwendung mit AspectJ und Slf4j hinzufügen. Grundsätzlich ist der Aspekt delegeates nur auf die slf4j Methoden in dieser Art und Weise:SLF4J Logger druckt nichts auf der Konsole
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 ****");
}
}
Warum hat die System.out.println()
Druck die Nachricht aber die logger.error()
die Nachricht nicht drucken?
Haben Sie eine SLF4J-Implementierung wie Logback auf Ihrem Klassenpfad? – nille85
Dank Ihres Hinweises: Nachdem ich 'slf4j-simple' zu meinem Klassenpfad hinzugefügt habe, ist der Logger funktionsfähig. – kiltek
Dann schlage ich vor, dass entweder @ nille85 eine Antwort schreibt und kiltek diese akzeptiert, um die Frage zu beenden, oder kiltek löscht die Frage vollständig. Und übrigens, ich habe das Thema und die Tags so bearbeitet, dass sie sich auf das eigentliche Problem beziehen. Dies steht in keiner Beziehung zu AspectJ. – kriegaex