Tomcat日志:%D和%F有什么区别?

问题描述 投票:0回答:2

我正在使用 Tomcat 日志来记录访问信息。官方文档中

%D
%F
的定义是:

  • %D
    - 处理请求所花费的时间,以毫秒为单位

  • %F
    - 提交响应所需的时间,以毫秒为单位

我对这两个定义感到困惑。

%F
的时间包含
%D
的时间吗?

java spring-mvc tomcat logging request
2个回答
11
投票

%D
包括
%F
加上任何网络时间

API 文档中有更多信息 https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/AccessLogValve.html

AccessLogValve.ElapsedTimeElement
处理该数据所需的写入时间 请求 - %D、%T

AccessLogValve.FirstByteTimeElement
第一个字节之前的写入时间 以毫秒为单位写入(提交时间) -
%F

Bugzilla 55102 条目中

%F
它说:

Tomcat 的

AccessLogValve
能够报告发送消息所花费的时间 整个请求使用
%D
。这是总处理时间,可能是 受网络条件影响。有时能够做到这一点很有用 记录服务器准备响应并发送所花费的时间 给客户的第一个内容。

附件是记录响应提交时间的补丁 然后允许使用

%F
在访问日志中报告该情况 模式(与
mod-log-firstbyte
模块使用的相同) HTTPD)。


0
投票

仅供参考,tomcat 8 中

%D
的单位是毫秒,而在 tomcat 10 中是微秒...

因此,tomcat 10 中的

%{ms}T
可以用作 tomcat 8 中
%D
的等效项。

© www.soinside.com 2019 - 2024. All rights reserved.