2017-04-06 1 views
0

Ich arbeite mit Undertow + JBoss und hatte eine Frage. Die Standardzeiteinrichtung protokolliert Datum und Uhrzeit gemäß dem Javadoc auf der AccessLogHandler. Ich kann jedoch nichts finden, um anzuzeigen, ob dies der Zeitpunkt ist, zu dem die Anforderung empfangen wurde, oder ob dies der Zeitpunkt war, zu dem die Anforderung abgeschlossen wurde.Gibt Undertows Acces Log Time die Zeit für die Anforderung der Anforderung oder die Anforderung für die Fertigstellung an?

Ich habe einen Blick auf DateTimeAttribute geworfen, und es scheint, dass es eine dynamisch generierte Statistik wäre, wenn readAttribute() aufgerufen wird. Diese Methode wird ein paar Dutzend Mal in den Sog Kern-Code genannt, aber ich möchte diese Methode glauben, in einem Request/Response-Flow (gefunden in AccessLogHandler) der Hauptzweck ist:

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(); 
     } 
    } 
} 

Also, wenn ich Verständnis bin Dieser Code richtig, es würde scheinen, dass dieser Zeitstempel nach generiert wird die Anfrage abgeschlossen wurde. Kann jemand bestätigen, dass dies der Fall ist?

Antwort

1

Es ist eine Fertigstellungszeit. Sie können dies testen, indem Sie Ihre PC-Uhr notieren, eine lange Anfrage machen, z. Setzen Sie einen Haltepunkt in Ihrem Servlet oder einem anderen UI-Code, indem Sie eine Thread.sleep(30000) machen und dann den Zeitstempel im Zugriffsprotokoll sehen.

Verwandte Themen