code: func TagBasedRequestFieldExtractor(tagName string) RequestFieldExtractorFunc {
  	return func(fullMethod string, req interface{}) map[string]interface{} {
  		retMap := make(map[string]interface{})
  		reflectMessageTags(req, retMap, tagName)
  		if len(retMap) == 0 {
  			return nil
  		}
  		return retMap
  	}
  }
docs: // TagBasedRequestFieldExtractor is a function that relies on Go struct tags to export log fields from requests.
  // These are usually coming from a protoc-plugin, such as Gogo protobuf.
  //
  //  message Metadata {
  //     repeated string tags = 1 [ (gogoproto.moretags) = "log_field:\"meta_tags\"" ];
  //  }
  //
  // The tagName is configurable using the tagName variable. Here it would be "log_field".