You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by il...@apache.org on 2019/07/15 05:58:06 UTC
[dubbo] branch master updated: Fix bug #4374 for AccessLogFilter
not working (#4566)
This is an automated email from the ASF dual-hosted git repository.
iluo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 05e44db Fix bug #4374 for AccessLogFilter not working (#4566)
05e44db is described below
commit 05e44db43c829a7aea6cfc36ff522b981964f0ee
Author: Lonre Wang <lo...@gmail.com>
AuthorDate: Mon Jul 15 13:58:00 2019 +0800
Fix bug #4374 for AccessLogFilter not working (#4566)
which introduced by #4038
---
.../org/apache/dubbo/rpc/filter/AccessLogFilter.java | 4 ++--
.../apache/dubbo/rpc/filter/AccessLogFilterTest.java | 20 +++++++++++++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/AccessLogFilter.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/AccessLogFilter.java
index 5563371..ae2bc06 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/AccessLogFilter.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/AccessLogFilter.java
@@ -68,7 +68,7 @@ public class AccessLogFilter implements Filter {
private static final Logger logger = LoggerFactory.getLogger(AccessLogFilter.class);
- private static final String ACCESS_LOG_KEY = "dubbo.accesslog";
+ private static final String LOG_KEY = "dubbo.accesslog";
private static final int LOG_MAX_BUFFER = 5000;
@@ -179,7 +179,7 @@ public class AccessLogFilter implements Filter {
iterator.hasNext();
iterator.remove()) {
AccessLogData logData = iterator.next();
- LoggerFactory.getLogger(ACCESS_LOG_KEY + "." + logData.getServiceName()).info(logData.getLogMessage());
+ LoggerFactory.getLogger(LOG_KEY + "." + logData.getServiceName()).info(logData.getLogMessage());
}
}
diff --git a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/AccessLogFilterTest.java b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/AccessLogFilterTest.java
index ca84381..3fc463f 100644
--- a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/AccessLogFilterTest.java
+++ b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/AccessLogFilterTest.java
@@ -16,17 +16,23 @@
*/
package org.apache.dubbo.rpc.filter;
+import java.lang.reflect.Field;
+import java.util.Map;
+import java.util.Set;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.utils.LogUtil;
import org.apache.dubbo.rpc.Filter;
import org.apache.dubbo.rpc.Invocation;
import org.apache.dubbo.rpc.Invoker;
+import org.apache.dubbo.rpc.support.AccessLogData;
import org.apache.dubbo.rpc.support.MockInvocation;
import org.apache.dubbo.rpc.support.MyInvoker;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* AccessLogFilterTest.java
@@ -48,11 +54,23 @@ public class AccessLogFilterTest {
// TODO how to assert thread action
@Test
- public void testDefault() {
+ @SuppressWarnings("unchecked")
+ public void testDefault() throws NoSuchFieldException, IllegalAccessException {
URL url = URL.valueOf("test://test:11/test?accesslog=true&group=dubbo&version=1.1");
Invoker<AccessLogFilterTest> invoker = new MyInvoker<AccessLogFilterTest>(url);
Invocation invocation = new MockInvocation();
+
+ Field field = AccessLogFilter.class.getDeclaredField("LOG_ENTRIES");
+ field.setAccessible(true);
+ assertTrue(((Map) field.get(AccessLogFilter.class)).isEmpty());
+
accessLogFilter.invoke(invoker, invocation);
+
+ Map<String, Set<AccessLogData>> logs = (Map<String, Set<AccessLogData>>) field.get(AccessLogFilter.class);
+ assertFalse(logs.isEmpty());
+ assertFalse(logs.get("true").isEmpty());
+ AccessLogData log = logs.get("true").iterator().next();
+ assertEquals("org.apache.dubbo.rpc.support.DemoService", log.getServiceName());
}
@Test