code: public static Tag uri(ServerWebExchange exchange) {
  		PathPattern pathPattern = exchange
  				.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
  		if (pathPattern != null) {
  			return Tag.of("uri", pathPattern.getPatternString());
  		}
  		HttpStatus status = exchange.getResponse().getStatusCode();
  		if (status != null) {
  			if (status.is3xxRedirection()) {
  				return URI_REDIRECTION;
  			}
  			if (status == HttpStatus.NOT_FOUND) {
  				return URI_NOT_FOUND;
  			}
  		}
  		String path = getPathInfo(exchange);
  		if (path.isEmpty()) {
  			return URI_ROOT;
  		}
  		return URI_UNKNOWN;
  	}
docs: Creates a {@code uri} tag based on the URI of the given {@code exchange}. Uses the
  {@link HandlerMapping#BEST_MATCHING_PATTERN_ATTRIBUTE} best matching pattern if
  available. Falling back to {@code REDIRECTION} for 3xx responses, {@code NOT_FOUND}
  for 404 responses, {@code root} for requests with no path info, and {@code UNKNOWN}
  for all other requests.
  @param exchange the exchange
  @return the uri tag derived from the exchange