Class LoggingProducerListener<K,V>

Type Parameters:
K - the key type.
V - the value type.
All Implemented Interfaces:

public class LoggingProducerListener<K,V> extends Object implements ProducerListener<K,V>
The ProducerListener that logs exceptions thrown when sending messages.
Marius Bogoevici, Gary Russell
  • Field Details


      public static final int DEFAULT_MAX_CONTENT_LOGGED
      Default max content logged.
      See Also:
    • logger

      protected final LogAccessor logger
  • Constructor Details

    • LoggingProducerListener

      public LoggingProducerListener()
  • Method Details

    • setIncludeContents

      public void setIncludeContents(boolean includeContents)
      Whether the log message should include the contents (key and payload).
      includeContents - true if the contents of the message should be logged
    • setMaxContentLogged

      public void setMaxContentLogged(int maxContentLogged)
      The maximum amount of data to be logged for either key or password. As message sizes may vary and become fairly large, this allows limiting the amount of data sent to logs. Default 100.
      maxContentLogged - the maximum amount of data being logged.
    • onError

      public void onError(org.apache.kafka.clients.producer.ProducerRecord<K,V> record, @Nullable org.apache.kafka.clients.producer.RecordMetadata recordMetadata, Exception exception)
      Description copied from interface: ProducerListener
      Invoked after an attempt to send a message has failed.
      Specified by:
      onError in interface ProducerListener<K,V>
      record - the failed record
      recordMetadata - The metadata for the record that was sent (i.e. the partition and offset). If an error occurred, metadata will contain only valid topic and maybe the partition. If the partition is not provided in the ProducerRecord and an error occurs before partition is assigned, then the partition will be set to RecordMetadata.UNKNOWN_PARTITION.
      exception - the exception thrown