真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

StopWatch怎么在Spring中使用

StopWatch怎么在Spring 中使用,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

鐵山港網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

StopWatch簡單的秒表,允許多個(gè)任務(wù)的計(jì)時(shí),暴露每個(gè)命名任務(wù)的總運(yùn)行時(shí)間和運(yùn)行時(shí)間。隱藏使用System.currentTimeMillis(),提高應(yīng)用程序代碼的可讀性并減少計(jì)算錯(cuò)誤的可能性。

以下演示使用StopWatch記錄請求摘要日志信息:

@Slf4j
public class PerformanceInteceptor implements HandlerInterceptor {
  private ThreadLocal stopWatchThreadLocal = new ThreadLocal<>();

  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    StopWatch sw = new StopWatch();
    stopWatchThreadLocal.set(sw);
    sw.start();
    return true;
  }

  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    stopWatchThreadLocal.get().stop();
    stopWatchThreadLocal.get().start();
  }

  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    StopWatch sw = stopWatchThreadLocal.get();
    sw.stop();
    String method = handler.getClass().getSimpleName();
    if (handler instanceof HandlerMethod) {
      String beanType = ((HandlerMethod) handler).getBeanType().getName();
      String methodName = ((HandlerMethod) handler).getMethod().getName();
      method = beanType + "." + methodName;
    }
    // sw.getTotalTimeMillis(), 總執(zhí)行時(shí)間
    //sw.getTotalTimeMillis() - sw.getLastTaskTimeMillis(), 執(zhí)行方法體所需要的時(shí)間

    log.info("{};{};{};{};{}ms;{}ms;{}ms", request.getRequestURI(), method,
        response.getStatus(), ex == null ? "-" : ex.getClass().getSimpleName(),
        sw.getTotalTimeMillis(), sw.getTotalTimeMillis() - sw.getLastTaskTimeMillis(),
        sw.getLastTaskTimeMillis());
    stopWatchThreadLocal.remove();
  }
}

看完上述內(nèi)容,你們掌握StopWatch怎么在Spring 中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章題目:StopWatch怎么在Spring中使用
網(wǎng)頁地址:http://weahome.cn/article/jeogci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部