Skip to content

[Feature Request]: Intercept librdkafka logs #658

@imalexoff

Description

@imalexoff

Is your request related to a problem you have?

By default, any librdkafka log is written to stderr, but I want to intercept every message and route it to logging framework.

Describe the solution you'd like

For the producer and consumer, you need to configure the log handler:

producer:

var producerBuilder = new ProducerBuilder<byte[], byte[]>(_configuration.GetKafkaConfig())
    .SetLogHandler((_, log) =>
    {
        var logLevel = (LogLevel)log.LevelAs(LogLevelType.MicrosoftExtensionsLogging);
        _logger.Log(logLevel, "librdkafka {Message}", log.Message);
    })

consumer:

var consumerBuilder = new ConsumerBuilder<byte[], byte[]>(kafkaConfig)
    .SetLogHandler((_, log) =>
    {
        var logLevel = (LogLevel)log.LevelAs(LogLevelType.MicrosoftExtensionsLogging);
        _logger.Log(logLevel, "librdkafka {Message}", log.Message);
    })

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions