我需要在access_log中logging请求/响应大小(body + headers)。 任何想法如何在nginx中做到这一点? 在Apache中,我们可以使用%I ..%O …
我会在nginx.conf中使用这两个参数:
log_format perf'$ remote_addr $ status – $ request_length $ bytes_sent'
根据文档( http://wiki.nginx.org/HttpLogModule)$ $request_length只是请求的主体,但我已经证实,它包括所有的头(我有一些GET请求与许多cookies有超过总共1400字节)。 $bytes_sent是发送给客户端的总字节数(而不是与apache%B兼容的$body_sent )。
取自ngx_http_log_module :
$bytes_sent:发送给客户端的字节数
$connection:连接序列号
$connection_requests:通过连接进行的当前请求数(1.1.18)
$msec:日志写入时的时间,以毫秒为单位
$pipe:如果请求是stream水线,则为“p”,否则为“。”
$request_length:请求长度(包括请求行,标题和请求正文)
$request_time:以毫秒为单位的请求处理时间,以秒为单位; 从客户端读取第一个字节之间的时间,并在最后一个字节发送到客户端后写入日志
$status:响应状态
$time_iso8601:ISO 8601标准格式的本地时间
$time_local:通用日志格式的本地时间