我在vertx web项目中使用LoggerHandler。我对记录器的输出有点困惑:
WARNING: 0:0:0:0:0:0:0:1 - - [Sat, 15 Jan 2022 18:38:43 GMT] "DELETE /article_categories/1 HTTP/1.1" 400 102 "http://cbt:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4479.0 Safari/537.36"
特别是,哪个数字表示请求的持续时间?
您实际上已经非常接近您想要的内容。
如果您深入查看您提供的文档(https://vertx.io/docs/vertx-web/java/#_request_logger)你会看到它有一个LoggerFormat
(https://vertx.io/docs/apidocs/io/vertx/ext/web/handler/LoggerFormat.html#DEFAULT)
默认格式为remote-client - - [timestamp] "method uri version" status content-length "referrer" "user-agent"
因此,如果我们分解您的日志:
log level: WARNING
remote-client: 0:0:0:0:0:0:0:1
timestamp: [Sat, 15 Jan 2022 18:38:43 GMT]
method: DELETE
uri: /article_categories/1
version: HTTP/1.1
status: 400
content-length: 102
referrer: http://cbt:8080/
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4479.0 Safari/537.36
对于你的主要问题,他们都没有提到请求的持续时间。
Vert.x确实有ResponseTimeHandler
:
- https://vertx.io/docs/vertx-web/java/#_response_time_handler
- https://vertx.io/docs/apidocs/io/vertx/ext/web/handler/ResponseTimeHandler.html