in pulsar-log4j2-appender/src/main/java/org/apache/pulsar/log4j2/appender/PulsarManager.java [82:114]
public void send(final byte[] msg) {
if (producer != null) {
String newKey = null;
if (key != null && key.contains("${")) {
newKey = getLoggerContext().getConfiguration().getStrSubstitutor().replace(key);
} else if (key != null) {
newKey = key;
}
TypedMessageBuilder<byte[]> messageBuilder = producer.newMessage()
.value(msg);
if (newKey != null) {
messageBuilder.key(newKey);
}
if (syncSend) {
try {
messageBuilder.send();
} catch (PulsarClientException e) {
LOGGER.error("Unable to write to Pulsar in appender [" + getName() + "]", e);
}
} else {
messageBuilder.sendAsync()
.exceptionally(cause -> {
LOGGER.error("Unable to write to Pulsar in appender [" + getName() + "]", cause);
return null;
});
}
}
}