log_consumer "github.com/volcengine/volc-sdk-golang/service/tls/consumer"
"github.com/volcengine/volc-sdk-golang/service/tls/pb"
func launchConsumer() error {
consumerCfg := log_consumer.GetDefaultConsumerConfig()
consumerCfg.Endpoint = os.Getenv("VOLCENGINE_ENDPOINT")
consumerCfg.Region = os.Getenv("VOLCENGINE_REGION")
consumerCfg.AccessKeyID = os.Getenv("VOLCENGINE_ACCESS_KEY_ID")
consumerCfg.AccessKeySecret = os.Getenv("VOLCENGINE_ACCESS_KEY_SECRET")
consumerCfg.ProjectID = "<YOUR-PROJECT-ID>"
consumerCfg.TopicIDList = []string{"<YOUR-TOPIC-ID>"}
consumerCfg.ConsumerGroupName = "<CONSUMER-GROUP-NAME>"
consumerCfg.ConsumerName = "<CONSUMER_NAME>"
var handleLogs = func(topicID string, shardID int, l *pb.LogGroupList) {
fmt.Printf("received new logs from topic: %s, shard: %d\n", topicID, shardID)
for _, logGroup := range l.LogGroups {
for _, log := range logGroup.Logs {
for _, content := range log.Contents {
fmt.Printf("%s: %s\n", content.Key, content.Value)
consumer, err := log_consumer.NewConsumer(context.TODO(), consumerCfg, handleLogs)
return errors.Wrap(err, "get new consumer failed: ")
if err := consumer.Start(); err != nil {
return errors.Wrap(err, "start consumer failed: ")
<-time.After(time.Second * 60)
if err := launchConsumer(); err != nil {
fmt.Println(err.Error())