Perf4J @Profiled annotation + log4j is not working -
i have got following problem: want monitor execution time of low-performance methods using perf4j @profiled annotation , log4j. problem monitoring log file empty , looks this:
performance statistics 2013-07-17 18:07:50 - 2013-07-17 18:08:00 tag avg(ms) min max std dev count performance statistics 2013-07-17 18:08:00 - 2013-07-17 18:08:10 tag avg(ms) min max std dev count
the log4j.xml contained in projectroot/conf/exp directory , looks this:
<?xml version="1.0" encoding="utf-8"?> <!doctype log4j:configuration system "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="stdout" class="org.apache.log4j.consoleappender"> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%d{absolute} %5p %c{1}:%l - %m%n"/> </layout> </appender> <appender name="logfile" class="org.apache.log4j.dailyrollingfileappender"> <param name="file" value="./logs/exp-log.txt"/> <param name="datepattern" value="'.'yyyy-mm-dd-hh"/> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%p %d{hh:mm:ss.sss} %c %m%n"/> </layout> </appender> <appender name="coalescingstatistics" class="org.perf4j.log4j.asynccoalescingstatisticsappender"> <param name="timeslice" value="10000"/> <appender-ref ref="fileappender"/> <appender-ref ref="graphexecutiontimes"/> <appender-ref ref="graphexecutiontps"/> </appender> <appender name="fileappender" class="org.apache.log4j.fileappender"> <param name="file" value="./logs/perfstats.log"/> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%m%n"/> </layout> </appender> <appender name="graphexecutiontimes" class="org.perf4j.log4j.graphingstatisticsappender"> <!-- possible graphtypes mean, min, max, stddev, count , tps --> <param name="graphtype" value="mean"/> <!-- tags of timed execution blocks graph specified here --> <param name="tagnamestograph" value="firstblock,secondblock"/> <appender-ref ref="graphsfileappender"/> </appender> <appender name="graphexecutiontps" class="org.perf4j.log4j.graphingstatisticsappender"> <param name="graphtype" value="tps"/> <param name="tagnamestograph" value="firstblock,secondblock"/> <appender-ref ref="graphsfileappender"/> </appender> <appender name="graphsfileappender" class="org.apache.log4j.fileappender"> <param name="file" value="./logs/perfgraphs.log"/> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%m%n"/> </layout> </appender> <logger name="org.perf4j.timinglogger" additivity="false"> <level value="info"/> <appender-ref ref="coalescingstatistics"/> </logger> <logger name="sui"> <level value="debug"/> </logger> <root> <priority value="debug"/> <appender-ref ref="logfile"/> <appender-ref ref="stdout"/> </root> </log4j:configuration>
i have got following annotations in sources:
@profiled(tag = "exportrecsforaccount") protected void exportrecsforaccount(netsuiteacctinfo acctinfo) { @profiled(tag = "exportrecsforeachaccount") protected boolean exportrecsforeachaccount() throws queuemanagerexception, criticaldbconnectionfailed {
besides that, have got aop.xml located in projectroot/recources/meta-inf. content following:
<!doctype aspectj public "-//aspectj//dtd//en" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> <aspectj> <aspects> <aspect name="org.perf4j.log4j.aop.timingaspect"/> </aspects> <weaver options="-verbose -showweaveinfo"> <include within="comp.sui.exportservice"/> </weaver> </aspectj>
where comp.sui.exportservice link source code class.
so question doing wrong? when use stopwatches stamps right, @profiled annotations seems nothing works.
try:
<!doctype aspectj public "-//aspectj//dtd//en" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> <aspectj> <aspects> <aspect name="org.perf4j.log4j.aop.timingaspect"/> </aspects> <weaver options="-verbose -showweaveinfo"> <include within="comp.sui.exportservice"/> <!-- weave in perf4j aspects aspectj 1.6.7+ --> <include within="org.perf4j.slf4j.aop.*"/> <include within="org.perf4j.aop.*"/> </weaver> </aspectj>
Comments
Post a Comment