支持的包:
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)