private async Task ConsumeNextAsync(CancellationToken cancellationToken) { var result = _consumer.Consume(cancellationToken); if (result.IsPartitionEOF) { if (_endOfPartitionHandler != null) { _logger.Log(LogLevel.Info, $"Reached the end of partition {result.Partition} for topic {result.Topic}. Calling handler"); await _endOfPartitionHandler.Invoke(cancellationToken); } _logger.Log(LogLevel.Info, $"Reached the end of partition {result.Partition} for topic {result.Topic}. Waiting {_configuration.WaitInMsOnPartitionEnd}"); Task.Delay(_configuration.WaitInMsOnPartitionEnd, cancellationToken).Wait(cancellationToken); return; } var message = new ConsumedMessage <TKey, TValue> { Topic = result.Topic, Partition = result.Partition, Offset = result.Offset, Key = result.Message.Key, Value = result.Message.Value, }; await _messageHandler.Invoke(message, cancellationToken); }
public void Log(IConsumer <TKey, TValue> consumer, LogMessage logMessage) { _logger.Log(logMessage); }
public void LogMessage(IProducer <byte[], byte[]> producer, LogMessage logMessage) { _logger.Log(logMessage); }
public void Log(LogLevel level, string message) { _logger.Log(level, message); }
internal static void Log <T>(this IKafkaLogger <T> logger, LogMessage logMessage) { var level = (LogLevel)((int)logMessage.Level); logger.Log(level, logMessage.Message, logMessage.Name, logMessage.Facility); }