diff --git a/.gitignore b/.gitignore
index 34e1547..d5abf07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,9 @@
target
.idea
-*.iml
\ No newline at end of file
+*.iml
+.settings/org.eclipse.m2e.core.prefs
+.settings/org.eclipse.jdt.apt.core.prefs
+.classpath
+.project
+.settings/org.eclipse.core.resources.prefs
+.settings/org.eclipse.jdt.core.prefs
diff --git a/pom.xml b/pom.xml
index 78ce21f..1447979 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,9 +37,9 @@
- scm:git:git@github.com:danielwegener/logback-kafka-appender.git
- scm:git:git@github.com:danielwegener/logback-kafka-appender.git
- git@github.com:danielwegener/logback-kafka-appender.git
+ scm:git:git@github.com:koekj/logback-kafka-appender.git
+ scm:git:git@github.com:koekj/logback-kafka-appender.git
+ git@github.com:koekj/logback-kafka-appender.git
HEAD
diff --git a/release.properties b/release.properties
new file mode 100644
index 0000000..3a3cd9e
--- /dev/null
+++ b/release.properties
@@ -0,0 +1,12 @@
+#release configuration
+#Tue Dec 17 08:33:05 CET 2019
+projectVersionPolicyId=default
+scm.tagNameFormat=@{project.artifactId}-@{project.version}
+exec.additionalArguments=\ -Psonatype-oss-release
+remoteTagging=true
+scm.commentPrefix=[maven-release-plugin]
+pushChanges=true
+completedPhase=check-poms
+scm.url=scm\:git\:git@github.com\:koekj/logback-kafka-appender.git
+exec.snapshotReleasePluginAllowed=false
+preparationGoals=clean verify
diff --git a/src/main/java/com/github/danielwegener/logback/kafka/KafkaAppender.java b/src/main/java/com/github/danielwegener/logback/kafka/KafkaAppender.java
index 5529f0e..b3dfbcc 100644
--- a/src/main/java/com/github/danielwegener/logback/kafka/KafkaAppender.java
+++ b/src/main/java/com/github/danielwegener/logback/kafka/KafkaAppender.java
@@ -24,7 +24,7 @@ public class KafkaAppender extends KafkaAppenderConfig {
* Kafka clients uses this prefix for its slf4j logging.
* This appender defers appends of any Kafka logs since it could cause harmful infinite recursion/self feeding effects.
*/
- private static final String KAFKA_LOGGER_PREFIX = KafkaProducer.class.getPackage().getName().replaceFirst("\\.producer$", "");
+ private static final String KAFKA_LOGGER_PREFIX = KafkaProducer.class.getPackage().getName().replaceFirst("\\.clients\\.producer$", "");
private LazyProducer lazyProducer = null;
private final AppenderAttachableImpl aai = new AppenderAttachableImpl();
@@ -46,7 +46,10 @@ public KafkaAppender() {
public void doAppend(E e) {
ensureDeferredAppends();
if (e instanceof ILoggingEvent && ((ILoggingEvent)e).getLoggerName().startsWith(KAFKA_LOGGER_PREFIX)) {
- deferAppend(e);
+ //only in case the producer is initialized we are able to send messages.
+ if ( (lazyProducer != null ) && lazyProducer.isInitialized() ) {
+ deferAppend(e);
+ }
} else {
super.doAppend(e);
}
diff --git a/src/test/java/com/github/danielwegener/logback/kafka/KafkaAppenderTest.java b/src/test/java/com/github/danielwegener/logback/kafka/KafkaAppenderTest.java
index b87af21..ea50d0a 100644
--- a/src/test/java/com/github/danielwegener/logback/kafka/KafkaAppenderTest.java
+++ b/src/test/java/com/github/danielwegener/logback/kafka/KafkaAppenderTest.java
@@ -136,7 +136,6 @@ public void testDeferredAppend() {
final LoggingEvent evt = new LoggingEvent("fqcn",ctx.getLogger("logger"), Level.ALL, "message", null, new Object[0]);
unit.doAppend(evt);
- verify(deliveryStrategy).send(any(KafkaProducer.class), any(ProducerRecord.class), eq(deferredEvent), any(FailedDeliveryCallback.class));
verify(deliveryStrategy).send(any(KafkaProducer.class), any(ProducerRecord.class), eq(evt), any(FailedDeliveryCallback.class));
}
@@ -147,7 +146,7 @@ public void testKafkaLoggerPrefix() throws ReflectiveOperationException {
constField.setAccessible(true);
}
String constValue = (String) constField.get(null);
- assertThat(constValue, equalTo("org.apache.kafka.clients"));
+ assertThat(constValue, equalTo("org.apache.kafka"));
}