次の設定の AOP ベースのログイン機能があります
コンテキスト xml 構成:
<bean id="performanceMonitor"
class="org.springframework.aop.interceptor.PerformanceMonitorInterceptor" />
<aop:config>
<aop:pointcut id="allServiceMethods"
expression="execution(* com.eshop.sfweb.service.impl..*(..))" />
<aop:pointcut id="allEpServices"
expression="execution(* com.service.catalog..*(..))" />
<aop:advisor pointcut-ref="allServiceMethods"
advice-ref="performanceMonitor" order="2" />
<aop:advisor pointcut-ref="allEpServices"
advice-ref="performanceMonitor" order="2" />
</aop:config>
Log4j プロパティ:
log4j.logger.org.springframework.aop.interceptor.PerformanceMonitorIntercept
or=${ep.perflog.level},PERFORMANCE
log4j.appender.PERFORMANCE.File=webAppRoot:WEB-INF/log/performance.log
log4j.appender.PERFORMANCE.threshold=DEBUG
log4j.appender.PERFORMANCE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.PERFORMANCE.DatePattern='.'yyyy-MM-dd
log4j.appender.PERFORMANCE.layout=org.apache.log4j.PatternLayout
log4j.appender.PERFORMANCE.layout.ConversionPattern=%d -- %-5p [%t | %F:%L]
-- %m%n
環境に応じて AOP 呼び出し自体を無効にする方法はありますか? ロギングは非常に簡単に無効にできますが、バックグラウンド プロセスと呼び出し全体を無効/有効にすることはできますか?
説明が必要な場合はお知らせください。