code: protected void after(HttpServletRequest request, HttpServletResponse response, Long before, Long after, String specifiedErrorTitle) {
          final StringBuilder sb = new StringBuilder();
          sb.append(LF).append(IND);
          buildResponseInfo(sb, request, response);
          // hope response cookie (not request cookie)
          //buildCookies(sb, request);
          buildRequestAttributes(sb, request, /*showErrorFlush*/false);
          buildSessionAttributes(sb, request, /*showErrorFlush*/false);
  
          final String endDecoration;
          if (isSubRequestUrl(request)) {
              endDecoration = "- - - - - - - - - - {SUB END}: ";
          } else { // mainly here
              endDecoration = "* * * * * * * * * * {END}: ";
          }
          sb.append(endDecoration);
          sb.append(getTitlePath(request));
          sb.append(" [" + convertToPerformanceView(after.longValue() - before.longValue()) + "]");
          sb.append(LF);
          if (specifiedErrorTitle != null) {
              sb.append(" *").append(specifiedErrorTitle).append(", read the message for the detail");
          }
          sb.append(LF);
  
          String logString = sb.toString();
          logger.debug(logString);
      }
docs: -----