golang sarama_produce_test_with_timestamp.go
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang sarama_produce_test_with_timestamp.go相关的知识,希望对你有一定的参考价值。
package main
import (
"log"
"os"
"time"
"github.com/Shopify/sarama"
)
func main() {
config := sarama.NewConfig()
config.Producer.Return.Errors = true
config.Producer.Retry.Max = 10
config.Producer.Compression = sarama.CompressionSnappy // or GZIP don't work in combination with Timestamp!
config.Producer.Flush.Frequency = 500 * time.Millisecond
config.ClientID = "test"
sarama.Logger = log.New(os.Stdout, "[sarama] ", log.LstdFlags)
producer, err := sarama.NewAsyncProducer([]string{"localhost:9092"}, config)
if err != nil {
log.Fatalln("[ERROR] Failed to start Sarama producer:", err)
}
defer producer.Close()
go func() {
for err := range producer.Errors() {
log.Printf("[ERROR]: %s\n", err.Error())
}
}()
producer.Input() <- &sarama.ProducerMessage{
Timestamp: time.Now(),
Topic: "bla",
Value: sarama.ByteEncoder("test this message"),
}
}
golang 日志打印后程序直接退出
参考技术A
在一段 http get 的程序中,如果出现错误,打印日志后会导致程序退出。
将 log.Fatal 修改为 log.Println 即可解决问题。
感觉一个函数做了本不该它做的事情,有些好奇,golang 设计者的设计哲学。
以上是关于golang sarama_produce_test_with_timestamp.go的主要内容,如果未能解决你的问题,请参考以下文章
Golang入门到项目实战 第一个golang应用
golang编译androidso无法加载
golang如何打印内存内容
Golang入门到项目实战 golang匿名函数
json [Golang] golang #golang #snippets中有用的片段
golang使用成本高