2016-07-24 5 views

Antwort

0

bei Verwendung der @Profiled Anmerkung Stoppuhren an Ihrem Code hinzuzufügen, werden Sie verwenden in der Regel AspectJ Load Time Weaving (LTW) zum Instrument der Code beim laden/Laufzeit, die die Stoppuhr startet/stoppt fügt und Aufzeichnungen um annotierte Methoden.

Welche Protokollierungsbibliothek/API (log4j, slf4j, commons-logging, JUL) verwendet wird, hängt von der spezifischen Instanz org.perf4j.aop.ProfiledTimingAspect ab, die Sie in Ihrer aop.xml Konfiguration Ihres LTW konfigurieren. Zum Beispiel diese config:

<aspectj> 
    <!-- 
    We only want to weave in the log4j TimingAspect into the @Profiled classes. 
    Note that Perf4J provides TimingAspects for the most popular Java logging 
    frameworks and facades: log4j, java.util.logging, Apache Commons Logging 
    and SLF4J. The TimingAspect you specify here will depend on which logging 
    framework you wish to use in your code. 
    --> 
    <aspects> 
    <aspect name="org.perf4j.log4j.aop.TimingAspect"/> 
    <!-- if SLF4J/logback use org.perf4j.slf4j.aop.TimingAspect instead --> 
    </aspects> 

    <weaver options="-verbose -showWeaveInfo"> 
    <!-- 
     Here is where we specify the classes to be woven. You can specify package 
     names like com.company.project.* 
    --> 
    <include within="ProfiledExample"/> 
    </weaver> 
</aspectj> 

... verwendet org.perf4j.log4j.aop.TimingAspect, so wird die Stoppuhren auf Ihre konfiguriert Log4J Stoppuhr Logger protokolliert werden. Wenn Sie Bibliotheken von Drittanbietern vermeiden möchten, können Sie dies für den JUL JDK-Logger ändern.