浏览代码

修复无法生产请求日志

zhouhao 6 年之前
父节点
当前提交
5e323904b4

+ 9 - 3
hsweb-logging/hsweb-access-logging-aop/src/main/java/org/hswebframework/web/loggin/aop/AopAccessLoggerSupport.java

@@ -28,8 +28,10 @@ import java.util.List;
  */
 public class AopAccessLoggerSupport extends StaticMethodMatcherPointcutAdvisor {
 
+    @Autowired(required = false)
     private final List<AccessLoggerListener> listeners = new ArrayList<>();
 
+    @Autowired(required = false)
     private final List<AccessLoggerParser> loggerParsers = new ArrayList<>();
 
     @Autowired
@@ -37,12 +39,16 @@ public class AopAccessLoggerSupport extends StaticMethodMatcherPointcutAdvisor {
 
 
     public AopAccessLoggerSupport addListener(AccessLoggerListener loggerListener) {
-        listeners.add(loggerListener);
+        if (!listeners.contains(loggerListener)) {
+            listeners.add(loggerListener);
+        }
         return this;
     }
 
     public AopAccessLoggerSupport addParser(AccessLoggerParser parser) {
-        loggerParsers.add(parser);
+        if (!loggerParsers.contains(parser)) {
+            loggerParsers.add(parser);
+        }
         return this;
     }
 
@@ -106,6 +112,6 @@ public class AopAccessLoggerSupport extends StaticMethodMatcherPointcutAdvisor {
 
     @Override
     public boolean matches(Method method, Class<?> aClass) {
-        return loggerParsers.stream().anyMatch(parser->parser.support(aClass,method));
+        return loggerParsers.stream().anyMatch(parser -> parser.support(aClass, method));
     }
 }

+ 25 - 25
hsweb-logging/hsweb-access-logging-aop/src/main/java/org/hswebframework/web/loggin/aop/AopAccessLoggerSupportAutoConfiguration.java

@@ -36,29 +36,29 @@ public class AopAccessLoggerSupportAutoConfiguration {
         return new SwaggerAccessLoggerParser();
     }
 
-    @Bean
-    public ListenerProcessor listenerProcessor() {
-        return new ListenerProcessor();
-    }
-
-    public static class ListenerProcessor implements BeanPostProcessor {
-
-        @Autowired
-        private AopAccessLoggerSupport aopAccessLoggerSupport;
-
-        @Override
-        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
-            return bean;
-        }
-
-        @Override
-        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
-            if (bean instanceof AccessLoggerListener) {
-                aopAccessLoggerSupport.addListener(((AccessLoggerListener) bean));
-            }  if (bean instanceof AccessLoggerParser) {
-                aopAccessLoggerSupport.addParser(((AccessLoggerParser) bean));
-            }
-            return bean;
-        }
-    }
+//    @Bean
+//    public ListenerProcessor listenerProcessor() {
+//        return new ListenerProcessor();
+//    }
+//
+//    public static class ListenerProcessor implements BeanPostProcessor {
+//
+//        @Autowired
+//        private AopAccessLoggerSupport aopAccessLoggerSupport;
+//
+//        @Override
+//        public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
+//            return bean;
+//        }
+//
+//        @Override
+//        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+//            if (bean instanceof AccessLoggerListener) {
+//                aopAccessLoggerSupport.addListener(((AccessLoggerListener) bean));
+//            }  if (bean instanceof AccessLoggerParser) {
+//                aopAccessLoggerSupport.addParser(((AccessLoggerParser) bean));
+//            }
+//            return bean;
+//        }
+//    }
 }

+ 6 - 1
hsweb-logging/hsweb-access-logging-api/src/main/java/org/hswebframework/web/logging/AccessLoggerListener.java

@@ -1,9 +1,13 @@
 package org.hswebframework.web.logging;
 
+import org.hswebframework.web.logging.events.AccessLoggerAfterEvent;
+
 /**
  * 访问日志监听器,实现此接口并注入到spring容器即可获取访问日志信息
  *
  * @author zhouhao
+ * @see AccessLoggerAfterEvent
+ * @see org.hswebframework.web.logging.events.AccessLoggerBeforeEvent
  * @since 3.0
  */
 public interface AccessLoggerListener {
@@ -15,5 +19,6 @@ public interface AccessLoggerListener {
      */
     void onLogger(AccessLoggerInfo loggerInfo);
 
-    default void onLogBefore(AccessLoggerInfo loggerInfo){}
+    default void onLogBefore(AccessLoggerInfo loggerInfo) {
+    }
 }