1
2
3
4
5 package org.neo.swarm.interceptor.logging;
6
7 import org.neo.swarm.core.aop.Aspect;
8 import org.neo.swarm.core.aop.AspectComponent;
9 import org.neo.swarm.core.aop.silc.comp.MethodInterceptor;
10 import org.neo.swarm.core.aop.silc.comp.Perspective;
11 import org.neo.swarm.core.aop.silc.comp.Pointcut;
12 import org.neo.swarm.core.aop.silc.comp.RegexPointCut;
13
14
15 /***
16 *
17 * @author navery
18 */
19 public class JavaLogger implements Aspect {
20
21 Pointcut pointcut = new RegexPointCut("(.*)");
22 private MethodInterceptor interceptor;
23
24 public JavaLogger(boolean enabled) {
25 interceptor = new JavaLoggingInterceptor(enabled);
26 }
27
28
29
30
31 public void advise(AspectComponent componentInstance) {
32 pointcut.advise(Perspective.DEFAULT, componentInstance, interceptor);
33 }
34
35 public MethodInterceptor getInterceptor() {
36 return interceptor;
37 }
38
39
40
41
42 public void replaceInterceptor(MethodInterceptor interceptor) {
43 this.interceptor = interceptor;
44 }
45 }