[LOG4J2-1540] The Core AbstractManager should track its LoggerContext. Update Kafka support.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b1acc7f7 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b1acc7f7 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b1acc7f7 Branch: refs/heads/LOG4J2-1528 Commit: b1acc7f7b15daa5c6ad686a9e26413a204bee3fc Parents: 01f59e4 Author: Gary Gregory <ggreg...@apache.org> Authored: Fri Aug 26 10:09:01 2016 -0700 Committer: Gary Gregory <ggreg...@apache.org> Committed: Fri Aug 26 10:09:01 2016 -0700 ---------------------------------------------------------------------- .../logging/log4j/core/appender/mom/kafka/KafkaAppender.java | 7 +++++-- .../logging/log4j/core/appender/mom/kafka/KafkaManager.java | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b1acc7f7/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java index 8619f3d..81879e7 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java @@ -26,10 +26,12 @@ import org.apache.logging.log4j.core.Layout; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.appender.AbstractAppender; import org.apache.logging.log4j.core.appender.AppenderLoggingException; +import org.apache.logging.log4j.core.config.Configuration; import org.apache.logging.log4j.core.config.Node; import org.apache.logging.log4j.core.config.Property; import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; +import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required; @@ -49,8 +51,9 @@ public final class KafkaAppender extends AbstractAppender { @Required(message = "No name provided for KafkaAppender") @PluginAttribute("name") final String name, @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions, @Required(message = "No topic provided for KafkaAppender") @PluginAttribute("topic") final String topic, - @PluginElement("Properties") final Property[] properties) { - final KafkaManager kafkaManager = new KafkaManager(name, topic, properties); + @PluginElement("Properties") final Property[] properties, + @PluginConfiguration final Configuration configuration) { + final KafkaManager kafkaManager = new KafkaManager(configuration.getLoggerContext(), name, topic, properties); return new KafkaAppender(name, layout, filter, ignoreExceptions, kafkaManager); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b1acc7f7/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java index d138c93..35aafb7 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java @@ -24,6 +24,7 @@ import java.util.concurrent.TimeoutException; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.appender.AbstractManager; import org.apache.logging.log4j.core.config.Property; @@ -42,8 +43,8 @@ public class KafkaManager extends AbstractManager { private final String topic; - public KafkaManager(final String name, final String topic, final Property[] properties) { - super(null, name); + public KafkaManager(LoggerContext loggerContext, final String name, final String topic, final Property[] properties) { + super(loggerContext, name); this.topic = topic; config.setProperty("key.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer"); config.setProperty("value.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");