支持的包:

import "google.golang.org/protobuf/encoding/protojson"

proto输出json:

	// Message to json
	jsonString := protojson.Format(article.ProtoReflect().Interface())
	fmt.Printf("jsonString: %v\n", jsonString)
- 这个方式的json日志带有很多换行符,可以考虑压缩字段
  • proto输出压缩的json:
	jsonString := protojson.MarshalOptions{Multiline: false}.Format(msg.ProtoReflect().Interface())
	logger.Infof("%v:[%v]", str, jsonString)