При использовании @Profiled
аннотацию добавить секундомеры в код, вы обычно будете использовать AspectJ Load Time Ткачество (LTW) для инструмента код на нагрузки/выполнения, который добавляет Запускается секундомер/остановки а также записи вокруг аннотированных методов.
Какая библиотека ведения журналов/API (log4j, slf4j, commons-logging, JUL) используется в зависимости от конкретного экземпляра org.perf4j.aop.ProfiledTimingAspect
, который вы настраиваете в своем aop.xml
, настраивая LTW. Например, эта конфигурация:
<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.