簡體   English   中英

Kafka登錄go服務

[英]Kafka logs in go service

我需要 kafka 消費者日志進行調試。 我執行以下操作:


    chanLogs := make(chan confluentkafka.LogEvent)
    go func() {
        for {
            logEv := <-chanLogs
            logger.Debug("KAFKA: " + logEv.String())
        }
    }()

    configMap["go.logs.channel.enable"] = true
    configMap["go.logs.channel"] = chanLogs

    consumer, err := confluentkafka.NewConsumer(&configMap)

    err := consumer.SubscribeTopics(Topics, nil)

我從來沒有得到一條線。 我用 kafka chan ( consumer.Logs() )嘗試了它,結果相同。 我做錯了什么?

UPD在最初的帖子中,我錯誤地設置了參數名稱。 正確的是go.logs.channel.enable 但有時這仍然不起作用。

如文檔中所述,您應該啟用該功能:

go.logs.channel.enable (bool, false) - Forward log to Logs() channel.
go.logs.channel (chan kafka.LogEvent, nil) - Forward logs to application-provided channel instead of Logs(). Requires go.logs.channel.enable=true.

所以改變你的代碼,如:

    configMap["go.logs.channel"] = chanLogs
    configMap["go.logs.channel.enable"] = true

    consumer, err := confluentkafka.NewConsumer(&configMap)

另請參閱文檔或代碼倉庫的示例here

解決方案是添加

    configMap["debug"] = "all"

我在這里找到了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM