You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2020/02/09 21:12:05 UTC

[logging-log4j2] branch master updated (52d3263 -> 3344202)

This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.


    from 52d3263  Update changes.xml
     add e64dba1  added kafka send retryCount
     add e34438a  Revert "added kafka send retryCount":
     add b967cc0  added retryCount
     new ecc1ac1  Resolve merge conflicts
     new 3344202  LOG4J2-2777 - Add retry count to Kafka Appender

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../log4j/kafka/appender/KafkaAppender.java        | 20 +++++++++++++++-
 .../logging/log4j/kafka/appender/KafkaManager.java | 27 ++++++++++++++++++----
 src/changes/changes.xml                            |  3 +++
 3 files changed, 44 insertions(+), 6 deletions(-)


[logging-log4j2] 02/02: LOG4J2-2777 - Add retry count to Kafka Appender

Posted by rg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 3344202ce5492fcacf169656f1b3e816b51dca12
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Sun Feb 9 13:52:59 2020 -0700

    LOG4J2-2777 - Add retry count to Kafka Appender
---
 .../logging/log4j/kafka/appender/KafkaAppender.java       | 15 +++++++++++++++
 src/changes/changes.xml                                   |  3 +++
 2 files changed, 18 insertions(+)

diff --git a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
index 6af669e..ec5e512 100644
--- a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
+++ b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
@@ -109,6 +109,21 @@ public final class KafkaAppender extends AbstractAppender {
             this.sendEventTimestamp = sendEventTimestamp;
             return asBuilder();
         }
+
+        public Integer getRetryCount() {
+            Integer intRetryCount = null;
+            try {
+                intRetryCount = Integer.valueOf(retryCount);
+            } catch (NumberFormatException e) {
+
+            }
+            return intRetryCount;
+        }
+
+        public B setRetryCount(final String retryCount) {
+            this.retryCount = retryCount;
+            return asBuilder();
+        }
     }
 
     /**
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 39b9382..c223445 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -166,6 +166,9 @@
       </action>
     </release>
     <release version="2.13.1" date="2019-MM-DD" description="GA Release 2.13.1">
+      <action issue="LOG4J2-2777" dev="rgoers" type="update" due-to="joongs4">
+        Add a retry count attribute to the KafkaAppender.
+      </action>
       <action issue="LOG4J2-2776" dev="rgoers" type="fix" due-to="Christoph Kaser">
         An error message in RollingFileAppender uses a placeholder for the name but does not specify the name
         argument in the logging call


[logging-log4j2] 01/02: Resolve merge conflicts

Posted by rg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit ecc1ac1ee538ead061a8c4124b7beb54b7a50006
Merge: 52d3263 b967cc0
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Sun Feb 9 13:29:18 2020 -0700

    Resolve merge conflicts

 .../log4j/kafka/appender/KafkaAppender.java        |  5 +++-
 .../logging/log4j/kafka/appender/KafkaManager.java | 27 ++++++++++++++++++----
 2 files changed, 26 insertions(+), 6 deletions(-)

diff --cc log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
index 36ab5ec,09e259e..6af669e
--- a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
+++ b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java
@@@ -49,7 -49,10 +49,10 @@@ public final class KafkaAppender extend
       */
      public static class Builder<B extends Builder<B>> extends AbstractAppender.Builder<B>
              implements org.apache.logging.log4j.plugins.util.Builder<KafkaAppender> {
 -    	
 +
+     	@PluginAttribute
+     	private String retryCount;
+ 
          @PluginAttribute
          private String topic;
  
@@@ -71,7 -71,7 +74,7 @@@
                  return null;
              }
              final KafkaManager kafkaManager = KafkaManager.getManager(getConfiguration().getLoggerContext(),
-                     getName(), topic, syncSend, sendEventTimestamp, getPropertyArray(), key);
 -                    getName(), topic, syncSend, getPropertyArray(), key, retryCount);
++                    getName(), topic, syncSend, sendEventTimestamp, getPropertyArray(), key, retryCount);
              return new KafkaAppender(getName(), layout, getFilter(), isIgnoreExceptions(), getPropertyArray(), kafkaManager);
          }
  
diff --cc log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaManager.java
index 4f82f07,3a6637e..a4e4ddb
--- a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaManager.java
+++ b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaManager.java
@@@ -59,7 -58,7 +59,7 @@@ public class KafkaManager extends Abstr
       * The Constructor should have been declared private as all Managers are create by the internal factory;
       */
      private KafkaManager(final LoggerContext loggerContext, final String name, final String topic, final boolean syncSend,
-                         final boolean sendTimestamp, final Property[] properties, final String key) {
 -                        final Property[] properties, final String key, final String retryCount) {
++            final boolean sendTimestamp, final Property[] properties, final String key, final String retryCount) {
          super(loggerContext, name);
          this.topic = Objects.requireNonNull(topic, "topic");
          this.syncSend = syncSend;
@@@ -67,6 -65,18 +67,18 @@@
          config.setProperty("key.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");
          config.setProperty("value.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");
          config.setProperty("batch.size", "0");
 -        
++
+         if(retryCount!=null) {
+         	try {
+         		Integer.parseInt(retryCount);
+         		config.setProperty("retries", retryCount);
+         	}catch(NumberFormatException numberFormatException) {
 -        		
++
+         	}
 -        	
 -        	
++
++
+         }
 -        
++
          for (final Property property : properties) {
              config.setProperty(property.getName(), property.getValue());
          }
@@@ -149,30 -154,30 +161,34 @@@
      }
  
      public static KafkaManager getManager(final LoggerContext loggerContext, final String name, final String topic,
-             final boolean syncSend, final boolean sendTimestamp, final Property[] properties, final String key) {
 -            final boolean syncSend, final Property[] properties, final String key, final String retryCount) {
++            final boolean syncSend, final boolean sendTimestamp, final Property[] properties, final String key,
++            final String retryCount) {
          StringBuilder sb = new StringBuilder(name);
          for (Property prop: properties) {
              sb.append(" ").append(prop.getName()).append("=").append(prop.getValue());
          }
-         return getManager(sb.toString(), factory, new FactoryData(loggerContext, topic, syncSend, sendTimestamp, properties, key));
 -        return getManager(sb.toString(), factory, new FactoryData(loggerContext, topic, syncSend, properties, key, retryCount));
++        return getManager(sb.toString(), factory, new FactoryData(loggerContext, topic, syncSend, sendTimestamp,
++                properties, key, retryCount));
      }
  
      private static class FactoryData {
          private final LoggerContext loggerContext;
          private final String topic;
          private final boolean syncSend;
 +        private final boolean sendTimestamp;
          private final Property[] properties;
          private final String key;
+         private final String retryCount;
  
          public FactoryData(final LoggerContext loggerContext, final String topic, final boolean syncSend,
-                 final boolean sendTimestamp, final Property[] properties, final String key) {
 -                final Property[] properties, final String key, final String retryCount) {
++                final boolean sendTimestamp, final Property[] properties, final String key, final String retryCount) {
              this.loggerContext = loggerContext;
              this.topic = topic;
              this.syncSend = syncSend;
 +            this.sendTimestamp = sendTimestamp;
              this.properties = properties;
              this.key = key;
+             this.retryCount = retryCount;
          }
  
      }
@@@ -180,7 -185,7 +196,8 @@@
      private static class KafkaManagerFactory implements ManagerFactory<KafkaManager, FactoryData> {
          @Override
          public KafkaManager createManager(String name, FactoryData data) {
-             return new KafkaManager(data.loggerContext, name, data.topic, data.syncSend, data.sendTimestamp, data.properties, data.key);
 -            return new KafkaManager(data.loggerContext, name, data.topic, data.syncSend, data.properties, data.key, data.retryCount);
++            return new KafkaManager(data.loggerContext, name, data.topic, data.syncSend, data.sendTimestamp,
++                    data.properties, data.key, data.retryCount);
          }
      }