我正在使用 Tomcat 日志来记录访问信息。官方文档中
%D
和%F
的定义是:
%D
- 处理请求所花费的时间,以毫秒为单位
%F
- 提交响应所需的时间,以毫秒为单位
我对这两个定义感到困惑。
%F
的时间包含%D
的时间吗?
%D
包括 %F
加上任何网络时间
API 文档中有更多信息 https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/AccessLogValve.html
处理该数据所需的写入时间 请求 - %D、%TAccessLogValve.ElapsedTimeElement
第一个字节之前的写入时间 以毫秒为单位写入(提交时间) -AccessLogValve.FirstByteTimeElement
%F
%F
它说:
Tomcat 的
能够报告发送消息所花费的时间 整个请求使用AccessLogValve
。这是总处理时间,可能是 受网络条件影响。有时能够做到这一点很有用 记录服务器准备响应并发送所花费的时间 给客户的第一个内容。%D
附件是记录响应提交时间的补丁 然后允许使用
在访问日志中报告该情况 模式(与%F
模块使用的相同) HTTPD)。mod-log-firstbyte
仅供参考,tomcat 8 中
%D
的单位是毫秒,而在 tomcat 10 中是微秒...
因此,tomcat 10 中的
%{ms}T
可以用作 tomcat 8 中 %D
的等效项。