code: function getLogArgs(args) {
      // iterate over args to create a real array
      if (!args || !args.length) {
          return {items:[],metaData:{}};
      }
      var items=[], md={}, itm;
      for (var i=0, sz=args.length; sz>i; i++) {
          itm=args[i];
          if (i>0 && i===sz-1) {
              // itm could be a meta-data argument
              if (typeof(itm)==="object" && itm.type && typeof(itm.type)==="string" && validTypes[itm.type]) {
                  // this is a meta-data argument
                  md=itm;
              } else {
                  items[i]=itm;
              }
          } else {
              items[i]=itm;
          }
      }
      return {items:items,metaData:md};
  }
docs: Analyse log arguments to determine if the last argument is a meta-data argument - cf. log()
  @param {Array} args array of Object or String - last item may be a meta-data argument
  @return {Object} structure composed of 2 parts
  items: {Object|String} items to be logged
  metaData: {Object} - empty object if not found