// produceStdin read stdin and send every non empty line as message func produceStdin(broker kafka.Client) { producer := broker.Producer(kafka.NewProducerConf()) input := bufio.NewReader(os.Stdin) for { line, err := input.ReadString('\n') if err != nil { log.Fatalf("input error: %s", err) } line = strings.TrimSpace(line) if line == "" { continue } msg := &proto.Message{Value: []byte(line)} if _, err := producer.Produce(topic, partition, msg); err != nil { log.Fatalf("cannot produce message to %s:%d: %s", topic, partition, err) } } }