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 <[email protected]> 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); } }
