2016-07-24 28 views

回答

0

當使用@Profiled註釋秒錶添加到您的代碼,您通常會使用AspectJ裝載時織入(LTW)來測試您的代碼在加載/運行時,它增加了秒錶開始/停止和在註釋方法周圍錄音。

使用哪個日誌庫/ API(log4j,slf4j,commons-logging,JUL)取決於您在配置LTW的aop.xml中配置的org.perf4j.aop.ProfiledTimingAspect的特定實例。例如此配置:

<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> 

...使用org.perf4j.log4j.aop.TimingAspect,所以秒錶將被記錄到您的配置Log4J的秒錶記錄。如果您想避免使用第三方庫,則可以對JUL JDK記錄器進行更改。

相關問題