From 942df51f6d99ef7b601bea1f0357725fb2fc6ec9 Mon Sep 17 00:00:00 2001 From: bvn13 Date: Sun, 14 Aug 2022 01:19:01 +0300 Subject: [PATCH 1/4] performance test --- README.md | 9 ++ logger-testing/pom.xml | 91 +++++++++++++++ .../NormalizedFeignLoggerBenchmarkTest.java | 107 ++++++++++++++++++ .../logger/normalized/ResponseDto.java | 15 +++ .../normalized/TestBlockingServlet.java | 19 ++++ .../logger/normalized/TestFeignClient.java | 11 ++ .../logger/normalized/TestJettyServer.java | 51 +++++++++ logger/pom.xml | 35 ++++++ .../normalized/NormalizedFeignLogger.java | 2 +- pom.xml | 36 ++---- 10 files changed, 351 insertions(+), 25 deletions(-) create mode 100644 logger-testing/pom.xml create mode 100644 logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLoggerBenchmarkTest.java create mode 100644 logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/ResponseDto.java create mode 100644 logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestBlockingServlet.java create mode 100644 logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestFeignClient.java create mode 100644 logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestJettyServer.java create mode 100644 logger/pom.xml rename {src => logger/src}/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java (98%) diff --git a/README.md b/README.md index f94f6a4..aa766b0 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,15 @@ x-xss-protection: 1; mode=block ] ``` +# Performance + +``` +Benchmark Mode Cnt Score Error Units +NormalizedFeignLoggerBenchmarkTest.testFeignWithoutLogger thrpt 25 16281.625 ± 279.774 ops/s +NormalizedFeignLoggerBenchmarkTest.testNormalizedFeignLogger thrpt 25 6081.675 ± 229.912 ops/s +NormalizedFeignLoggerBenchmarkTest.testSlf4jFeignLogger thrpt 25 16593.059 ± 151.327 ops/s +``` + # How to use In order to use Normalized Logger into the application they must the following. diff --git a/logger-testing/pom.xml b/logger-testing/pom.xml new file mode 100644 index 0000000..552a38b --- /dev/null +++ b/logger-testing/pom.xml @@ -0,0 +1,91 @@ + + + + me.bvn13.openfeign.logger + feign-normalized-logger + 0.1.5-SNAPSHOT + + 4.0.0 + + me.bvn13.openfeign.logger.test + logger-testing + + + 17 + 17 + UTF-8 + + + + + me.bvn13.openfeign.logger + feign-normalized-logger + 0.1.4 + test + + + org.slf4j + slf4j-api + ${slf4j.version} + test + + + org.slf4j + slf4j-jdk14 + ${slf4j.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + test + + + + org.eclipse.jetty + jetty-server + ${jetty-server.version} + test + + + org.eclipse.jetty + jetty-servlet + ${jetty-server.version} + test + + + org.openjdk.jmh + jmh-core + ${jmh.version} + test + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh.version} + test + + + io.github.openfeign + feign-core + ${feign.version} + test + + + io.github.openfeign + feign-gson + ${feign.version} + test + + + io.github.openfeign + feign-slf4j + ${feign.version} + test + + + + \ No newline at end of file diff --git a/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLoggerBenchmarkTest.java b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLoggerBenchmarkTest.java new file mode 100644 index 0000000..783dafd --- /dev/null +++ b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLoggerBenchmarkTest.java @@ -0,0 +1,107 @@ +package me.bvn13.openfeign.logger.normalized; + +import feign.Feign; +import feign.Logger; +import feign.gson.GsonDecoder; +import feign.slf4j.Slf4jLogger; +import org.junit.jupiter.api.Assertions; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.TearDown; +import org.openjdk.jmh.annotations.Warmup; + +import static me.bvn13.openfeign.logger.normalized.TestJettyServer.PORT; + +public class NormalizedFeignLoggerBenchmarkTest { + @State(Scope.Benchmark) + public static class BenchmarkStateWithoutLogging { + TestJettyServer jettyServer; + TestFeignClient feignClient; + + @Setup + public void init() { + jettyServer = new TestJettyServer(); + jettyServer.start(); + feignClient = Feign.builder() + .decoder(new GsonDecoder()) + .target(TestFeignClient.class, "http://localhost:" + PORT); + } + + @TearDown + public void tearDown() { + jettyServer.stop(); + } + } + + @State(Scope.Benchmark) + public static class BenchmarkStateWithSlf4jLogging { + TestJettyServer jettyServer; + TestFeignClient feignClient; + + @Setup + public void init() { + jettyServer = new TestJettyServer(); + jettyServer.start(); + feignClient = Feign.builder() + .logger(new Slf4jLogger()) + .logLevel(Logger.Level.FULL) + .decoder(new GsonDecoder()) + .target(TestFeignClient.class, "http://localhost:" + PORT); + } + + @TearDown + public void tearDown() { + jettyServer.stop(); + } + } + + @State(Scope.Benchmark) + public static class BenchmarkStateWithNormalizedLogging { + TestJettyServer jettyServer; + TestFeignClient feignClient; + + @Setup + public void init() { + jettyServer = new TestJettyServer(); + jettyServer.start(); + feignClient = Feign.builder() + .logger(new NormalizedFeignLogger()) + .logLevel(Logger.Level.FULL) + .decoder(new GsonDecoder()) + .target(TestFeignClient.class, "http://localhost:" + PORT); + } + + @TearDown + public void tearDown() { + jettyServer.stop(); + } + } + + @Benchmark + @Warmup(iterations = 3) + public void testFeignLogger(BenchmarkStateWithoutLogging benchmarkState) { + final ResponseDto status = benchmarkState.feignClient.getStatus(); + Assertions.assertEquals("ok", status.getStatus()); + } + + @Benchmark + @Warmup(iterations = 3) + public void testSlf4jFeignLogger(BenchmarkStateWithSlf4jLogging benchmarkState) { + final ResponseDto status = benchmarkState.feignClient.getStatus(); + Assertions.assertEquals("ok", status.getStatus()); + } + + @Benchmark + @Warmup(iterations = 3) + public void testNormalizedFeignLogger(BenchmarkStateWithNormalizedLogging benchmarkState) { + final ResponseDto status = benchmarkState.feignClient.getStatus(); + Assertions.assertEquals("ok", status.getStatus()); + } + + public static void main(String[] args) throws Exception { + org.openjdk.jmh.Main.main(args); + } + +} diff --git a/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/ResponseDto.java b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/ResponseDto.java new file mode 100644 index 0000000..0306821 --- /dev/null +++ b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/ResponseDto.java @@ -0,0 +1,15 @@ +package me.bvn13.openfeign.logger.normalized; + +public class ResponseDto { + + private String status; + + public String getStatus() { + return status; + } + + public ResponseDto setStatus(String status) { + this.status = status; + return this; + } +} diff --git a/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestBlockingServlet.java b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestBlockingServlet.java new file mode 100644 index 0000000..bf111f3 --- /dev/null +++ b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestBlockingServlet.java @@ -0,0 +1,19 @@ +package me.bvn13.openfeign.logger.normalized; + +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +import java.io.IOException; + +public class TestBlockingServlet extends HttpServlet { + + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + response.setContentType("application/json"); + response.setStatus(HttpServletResponse.SC_OK); + response.getWriter().println("{ \"status\": \"ok\"}"); + } + +} diff --git a/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestFeignClient.java b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestFeignClient.java new file mode 100644 index 0000000..7e4088d --- /dev/null +++ b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestFeignClient.java @@ -0,0 +1,11 @@ +package me.bvn13.openfeign.logger.normalized; + + +import feign.RequestLine; + +public interface TestFeignClient { + + @RequestLine("GET /status") + ResponseDto getStatus(); + +} diff --git a/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestJettyServer.java b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestJettyServer.java new file mode 100644 index 0000000..985bc82 --- /dev/null +++ b/logger-testing/src/test/java/me/bvn13/openfeign/logger/normalized/TestJettyServer.java @@ -0,0 +1,51 @@ +package me.bvn13.openfeign.logger.normalized; + +import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.servlet.ServletHandler; + +public class TestJettyServer { + + public static final int PORT = 8090; + private Server server; + + public TestJettyServer() { + server = new Server(); + ServerConnector connector = new ServerConnector(server); + connector.setPort(PORT); + server.setConnectors(new Connector[] {connector}); + } + + public void start() { + ServletHandler servletHandler = new ServletHandler(); + server.setHandler(servletHandler); + servletHandler.addServletWithMapping(TestBlockingServlet.class, "/status"); + new Thread(() -> { + try { + server.start(); + } catch (Exception e) { + throw new RuntimeException(e); + } + }).start(); + } + + public void stop() { + try { + server.stop(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + public static void main(String[] args) { + TestJettyServer jettyServer; + jettyServer = new TestJettyServer(); + try { + jettyServer.start(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + +} diff --git a/logger/pom.xml b/logger/pom.xml new file mode 100644 index 0000000..8f40c97 --- /dev/null +++ b/logger/pom.xml @@ -0,0 +1,35 @@ + + + + me.bvn13.openfeign.logger + feign-normalized-logger + 0.1.5-SNAPSHOT + + 4.0.0 + + logger + + + 1.8 + 1.8 + UTF-8 + + + + + io.github.openfeign + feign-core + ${feign.version} + provided + + + org.slf4j + slf4j-api + ${slf4j.version} + provided + + + + \ No newline at end of file diff --git a/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java b/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java similarity index 98% rename from src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java rename to logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java index 3fc388f..255f3ac 100644 --- a/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java +++ b/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java @@ -18,7 +18,7 @@ import java.util.concurrent.ConcurrentHashMap; *
  * {@code
  *
- * normalized feign request (HERE-IS-CLASS-AND-METHOD): [
+ * Normalized feign request (HERE-ARE-CLASS-AND-METHOD): [
  *
  * ] has response [
  *
diff --git a/pom.xml b/pom.xml
index 54bcb27..24fa613 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,12 @@
     feign-normalized-logger
     0.1.5-SNAPSHOT
 
-    jar
+    
+        logger
+        logger-testing
+    
+
+    pom
 
     OpenFeign Normalized Logger
     Normalized Logger for OpenFeign
@@ -42,8 +47,13 @@
         1.6.13
         1.6
         1.18.0
-    
 
+        
+        5.9.0
+        11.0.11
+        1.35
+        4.5.13
+    
 
     
         
@@ -53,28 +63,6 @@
         
     
 
-    
-        
-            io.github.openfeign
-            feign-core
-            ${feign.version}
-            provided
-        
-        
-            org.slf4j
-            slf4j-api
-            ${slf4j.version}
-            provided
-        
-
-        
-            junit
-            junit
-            4.12
-            test
-        
-    
-
     
         feign-normalized-logger
 

From 72fd298a43bb52874ea6c7289016a416b3b35a2e Mon Sep 17 00:00:00 2001
From: bvn13 
Date: Tue, 16 Aug 2022 14:30:19 +0300
Subject: [PATCH 2/4] small performance improvement

---
 README.md                                     |   2 +-
 logger-testing/pom.xml                        |   4 +-
 logger/pom.xml                                | 143 +++++++++++++++++-
 .../normalized/NormalizedFeignLogger.java     |   9 +-
 pom.xml                                       | 143 +-----------------
 5 files changed, 151 insertions(+), 150 deletions(-)

diff --git a/README.md b/README.md
index aa766b0..2857249 100644
--- a/README.md
+++ b/README.md
@@ -108,7 +108,7 @@ for Maven
 
     me.bvn13.openfeign.logger
     feign-normalized-logger
-    0.1.4
+    0.2.1
 
 ```
 
diff --git a/logger-testing/pom.xml b/logger-testing/pom.xml
index 552a38b..b5b9e03 100644
--- a/logger-testing/pom.xml
+++ b/logger-testing/pom.xml
@@ -5,7 +5,7 @@
     
         me.bvn13.openfeign.logger
         feign-normalized-logger
-        0.1.5-SNAPSHOT
+        0.2.1-SNAPSHOT
     
     4.0.0
 
@@ -22,7 +22,7 @@
         
             me.bvn13.openfeign.logger
             feign-normalized-logger
-            0.1.4
+            0.2.1-SNAPSHOT
             test
         
         
diff --git a/logger/pom.xml b/logger/pom.xml
index 8f40c97..d705ad0 100644
--- a/logger/pom.xml
+++ b/logger/pom.xml
@@ -5,7 +5,7 @@
     
         me.bvn13.openfeign.logger
         feign-normalized-logger
-        0.1.5-SNAPSHOT
+        0.2.1-SNAPSHOT
     
     4.0.0
 
@@ -32,4 +32,145 @@
         
     
 
+    
+        
+            internal.repo
+            Temporary Staging Repository
+            file://${project.build.directory}/mvn-repo
+        
+    
+
+    
+        feign-normalized-logger
+
+        
+            
+                
+                    maven-source-plugin
+                    
+                        
+                            attach-sources
+                            
+                                jar-no-fork
+                            
+                        
+                    
+                
+                
+                    maven-surefire-plugin
+                    ${maven-surefire-plugin.version}
+                
+                
+                    com.amashchenko.maven.plugin
+                    gitflow-maven-plugin
+                    ${gitflow-maven-plugin.version}
+                    
+                        false
+                        
+                            develop
+                        
+                        true
+                        2
+                    
+                
+            
+        
+    
+
+    
+        
+            release
+            
+                
+                    
+                        org.apache.maven.plugins
+                        maven-source-plugin
+                        
+                            
+                                attach-sources
+                                verify
+                                
+                                    jar-no-fork
+                                
+                            
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-javadoc-plugin
+                        
+                            
+                                attach-javadocs
+                                
+                                    jar
+                                
+                            
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-deploy-plugin
+                        ${maven-deploy-plugin.version}
+                        
+                            true
+                        
+                    
+                    
+                        org.sonatype.plugins
+                        nexus-staging-maven-plugin
+                        ${nexus-staging-maven-plugin.version}
+                        true
+                        
+                            
+                                default-deploy
+                                deploy
+                                
+                                    deploy
+                                
+                            
+                        
+                        
+                            ossrh
+                            ${nexus.url}
+                            true
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-gpg-plugin
+                        ${maven-gpg-plugin.version}
+                        
+                            
+                                sign-artifacts
+                                verify
+                                
+                                    sign
+                                
+                            
+                        
+                    
+                
+            
+
+            
+                
+                    ossrh
+                    ${nexus.url}/content/repositories/snapshots
+                
+                
+                    ossrh
+                    ${nexus.url}/service/local/staging/deploy/maven2/
+                
+            
+
+            
+                
+                    jcenter
+                    JCenter
+                    https://jcenter.bintray.com/
+                
+            
+        
+    
+
 
\ No newline at end of file
diff --git a/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java b/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java
index 255f3ac..ea32315 100644
--- a/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java
+++ b/logger/src/main/java/me/bvn13/openfeign/logger/normalized/NormalizedFeignLogger.java
@@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
@@ -69,16 +70,16 @@ public class NormalizedFeignLogger extends feign.Logger {
 
     private void init() {
         if (isResponse.get() == null) {
-            isResponse.set(new ConcurrentHashMap<>());
+            isResponse.set(new HashMap<>());
         }
         if (methodName.get() == null) {
-            methodName.set(new ConcurrentHashMap<>());
+            methodName.set(new HashMap<>());
         }
         if (logsRequest.get() == null) {
-            logsRequest.set(new ConcurrentHashMap<>());
+            logsRequest.set(new HashMap<>());
         }
         if (logsResponse.get() == null) {
-            logsResponse.set(new ConcurrentHashMap<>());
+            logsResponse.set(new HashMap<>());
         }
     }
 
diff --git a/pom.xml b/pom.xml
index 24fa613..dad775b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
 
     me.bvn13.openfeign.logger
     feign-normalized-logger
-    0.1.5-SNAPSHOT
+    0.2.1-SNAPSHOT
 
     
         logger
@@ -55,51 +55,6 @@
         4.5.13
     
 
-    
-        
-            internal.repo
-            Temporary Staging Repository
-            file://${project.build.directory}/mvn-repo
-        
-    
-
-    
-        feign-normalized-logger
-
-        
-            
-                
-                    maven-source-plugin
-                    
-                        
-                            attach-sources
-                            
-                                jar-no-fork
-                            
-                        
-                    
-                
-                
-                    maven-surefire-plugin
-                    ${maven-surefire-plugin.version}
-                
-                
-                    com.amashchenko.maven.plugin
-                    gitflow-maven-plugin
-                    ${gitflow-maven-plugin.version}
-                    
-                        false
-                        
-                            develop
-                        
-                        true
-                        2
-                    
-                
-            
-        
-    
-
     
         
             bvn13
@@ -118,100 +73,4 @@
         https://github.com/bvn13/OpenFeign-NormalizedLogger.git
     
 
-    
-        
-            release
-            
-                
-                    
-                        org.apache.maven.plugins
-                        maven-source-plugin
-                        
-                            
-                                attach-sources
-                                verify
-                                
-                                    jar-no-fork
-                                
-                            
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-javadoc-plugin
-                        
-                            
-                                attach-javadocs
-                                
-                                    jar
-                                
-                            
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-deploy-plugin
-                        ${maven-deploy-plugin.version}
-                        
-                            true
-                        
-                    
-                    
-                        org.sonatype.plugins
-                        nexus-staging-maven-plugin
-                        ${nexus-staging-maven-plugin.version}
-                        true
-                        
-                            
-                                default-deploy
-                                deploy
-                                
-                                    deploy
-                                
-                            
-                        
-                        
-                            ossrh
-                            ${nexus.url}
-                            true
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-gpg-plugin
-                        ${maven-gpg-plugin.version}
-                        
-                            
-                                sign-artifacts
-                                verify
-                                
-                                    sign
-                                
-                            
-                        
-                    
-                
-            
-
-            
-                
-                    ossrh
-                    ${nexus.url}/content/repositories/snapshots
-                
-                
-                    ossrh
-                    ${nexus.url}/service/local/staging/deploy/maven2/
-                
-            
-
-            
-                
-                    jcenter
-                    JCenter
-                    https://jcenter.bintray.com/
-                
-            
-        
-    
-
 
\ No newline at end of file

From 5034afd52502032d8edf8cd5cc919973f67c7ab2 Mon Sep 17 00:00:00 2001
From: bvn13 
Date: Tue, 16 Aug 2022 14:30:53 +0300
Subject: [PATCH 3/4] fix updating script

---
 publish.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/publish.sh b/publish.sh
index 6c40cd8..34d0a5f 100755
--- a/publish.sh
+++ b/publish.sh
@@ -8,6 +8,8 @@ git push --tags
 
 git push origin develop
 
+git checkout master
+
 read -p "Which version to publish? > " version
 
 git checkout $version

From 111f76c1e02893c156b0abc4cdcb9040f9802ec6 Mon Sep 17 00:00:00 2001
From: bvn13 
Date: Tue, 16 Aug 2022 14:32:31 +0300
Subject: [PATCH 4/4] fix maven

---
 logger/pom.xml | 141 ------------------------------------------------
 pom.xml        | 142 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 141 deletions(-)

diff --git a/logger/pom.xml b/logger/pom.xml
index d705ad0..ee53cd9 100644
--- a/logger/pom.xml
+++ b/logger/pom.xml
@@ -32,145 +32,4 @@
         
     
 
-    
-        
-            internal.repo
-            Temporary Staging Repository
-            file://${project.build.directory}/mvn-repo
-        
-    
-
-    
-        feign-normalized-logger
-
-        
-            
-                
-                    maven-source-plugin
-                    
-                        
-                            attach-sources
-                            
-                                jar-no-fork
-                            
-                        
-                    
-                
-                
-                    maven-surefire-plugin
-                    ${maven-surefire-plugin.version}
-                
-                
-                    com.amashchenko.maven.plugin
-                    gitflow-maven-plugin
-                    ${gitflow-maven-plugin.version}
-                    
-                        false
-                        
-                            develop
-                        
-                        true
-                        2
-                    
-                
-            
-        
-    
-
-    
-        
-            release
-            
-                
-                    
-                        org.apache.maven.plugins
-                        maven-source-plugin
-                        
-                            
-                                attach-sources
-                                verify
-                                
-                                    jar-no-fork
-                                
-                            
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-javadoc-plugin
-                        
-                            
-                                attach-javadocs
-                                
-                                    jar
-                                
-                            
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-deploy-plugin
-                        ${maven-deploy-plugin.version}
-                        
-                            true
-                        
-                    
-                    
-                        org.sonatype.plugins
-                        nexus-staging-maven-plugin
-                        ${nexus-staging-maven-plugin.version}
-                        true
-                        
-                            
-                                default-deploy
-                                deploy
-                                
-                                    deploy
-                                
-                            
-                        
-                        
-                            ossrh
-                            ${nexus.url}
-                            true
-                        
-                    
-                    
-                        org.apache.maven.plugins
-                        maven-gpg-plugin
-                        ${maven-gpg-plugin.version}
-                        
-                            
-                                sign-artifacts
-                                verify
-                                
-                                    sign
-                                
-                            
-                        
-                    
-                
-            
-
-            
-                
-                    ossrh
-                    ${nexus.url}/content/repositories/snapshots
-                
-                
-                    ossrh
-                    ${nexus.url}/service/local/staging/deploy/maven2/
-                
-            
-
-            
-                
-                    jcenter
-                    JCenter
-                    https://jcenter.bintray.com/
-                
-            
-        
-    
-
 
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index dad775b..20cf963 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,4 +73,146 @@
         https://github.com/bvn13/OpenFeign-NormalizedLogger.git
     
 
+
+    
+        
+            internal.repo
+            Temporary Staging Repository
+            file://${project.build.directory}/mvn-repo
+        
+    
+
+    
+        feign-normalized-logger
+
+        
+            
+                
+                    maven-source-plugin
+                    
+                        
+                            attach-sources
+                            
+                                jar-no-fork
+                            
+                        
+                    
+                
+                
+                    maven-surefire-plugin
+                    ${maven-surefire-plugin.version}
+                
+                
+                    com.amashchenko.maven.plugin
+                    gitflow-maven-plugin
+                    ${gitflow-maven-plugin.version}
+                    
+                        false
+                        
+                            develop
+                        
+                        true
+                        2
+                    
+                
+            
+        
+    
+
+    
+        
+            release
+            
+                
+                    
+                        org.apache.maven.plugins
+                        maven-source-plugin
+                        
+                            
+                                attach-sources
+                                verify
+                                
+                                    jar-no-fork
+                                
+                            
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-javadoc-plugin
+                        
+                            
+                                attach-javadocs
+                                
+                                    jar
+                                
+                            
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-deploy-plugin
+                        ${maven-deploy-plugin.version}
+                        
+                            true
+                        
+                    
+                    
+                        org.sonatype.plugins
+                        nexus-staging-maven-plugin
+                        ${nexus-staging-maven-plugin.version}
+                        true
+                        
+                            
+                                default-deploy
+                                deploy
+                                
+                                    deploy
+                                
+                            
+                        
+                        
+                            ossrh
+                            ${nexus.url}
+                            true
+                        
+                    
+                    
+                        org.apache.maven.plugins
+                        maven-gpg-plugin
+                        ${maven-gpg-plugin.version}
+                        
+                            
+                                sign-artifacts
+                                verify
+                                
+                                    sign
+                                
+                            
+                        
+                    
+                
+            
+
+            
+                
+                    ossrh
+                    ${nexus.url}/content/repositories/snapshots
+                
+                
+                    ossrh
+                    ${nexus.url}/service/local/staging/deploy/maven2/
+                
+            
+
+            
+                
+                    jcenter
+                    JCenter
+                    https://jcenter.bintray.com/
+                
+            
+        
+    
+
 
\ No newline at end of file