2017-04-06 62 views
0

我正在與Undertow + JBoss合作,並有一個問題。標準時間設施將根據AccessLogHandler上的javadoc記錄日期和時間。但是,我找不到任何東西來表明這是收到請求的時間,還是這是請求完成的時間。Undertow的訪問日誌時間是否表示請求接收時間或請求完成時間?

我看了一眼DateTimeAttribute,它似乎是readAttribute()被調用時動態生成的統計信息。這種方法被稱爲在暗潮核心代碼一對夫婦十幾次,但我願意相信這種方法是在請求/響應流程主要使用(在AccessLogHandler找到):

private class AccessLogCompletionListener implements ExchangeCompletionListener { 
    @Override 
    public void exchangeEvent(final HttpServerExchange exchange, final NextListener nextListener) { 
     try { 
      if(predicate == null || predicate.resolve(exchange)) { 
       accessLogReceiver.logMessage(tokens.readAttribute(exchange)); 
      } 
     } finally { 
      nextListener.proceed(); 
     } 
    } 
} 

所以,如果我的理解這段代碼正確的話,看起來這個時間戳之後的請求已經完成。任何人都可以證實這是事實嗎?

回答

1

這是一個完成時間。您可以通過記錄您的電腦時鐘來進行測試,並提出長時間的請求。通過在servlet或其他UI代碼中設置斷點,執行Thread.sleep(30000),然後在訪問日誌中查看時間戳。