配置实例 指令 access_log log_format open_log_file_cache |
ngx_http_log_module
模块按指定的格式写访问日志。html
请求在处理结束时,会按请求路径的配置上下文记访问日志。 若是在请求处理期间产生了内部跳转, 请求结束时的路径可能不一样于原始的请求路径。nginx
log_format gzip '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access_log /spool/logs/nginx-access.log gzip buffer=32k;
语法: | access_log access_log |
默认值: | access_log logs/access.log combined; |
上下文: | http , server , location , if in location , limit_except |
为访问日志设置路径,格式和缓冲区大小(nginx访问日志支持缓存)。 在同一个配置层级里能够指定多个日志。 特定值off
会取消当前配置层级里的全部access_log
指令。 若是没有指定日志格式则会使用预约义的“combined
”格式。缓存
缓冲区的大小不能超过磁盘文件原子性写入的大小。 对于FreeBSD来讲缓冲区大小是无限制的。spa
日志文件的路径能够包含变量(0.7.6+), 但此类日志存在一些限制:日志
valid
参数指定的时间里, 写操做能持续写到旧文件。access_log
是一个不错的想法:
server { root /spool/vhost/data/$host; access_log /spool/vhost/logs/$host; ...
语法: | log_format |
默认值: | log_format combined "..."; |
上下文: | http |
指定日志的格式。code
日志格式容许包含普通变量和只在日志写入时存在的变量:orm
$body_bytes_sent
server
发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config
里的“%B
”参数兼容。htm
$bytes_sent
进程
发送给客户端的总字节数。
$connection
链接的序列号。
$connection_requests
当前经过一个链接得到的请求数量。
$msec
日志写入时间。单位为秒,精度是毫秒。
$pipe
若是请求是经过HTTP流水线(pipelined)发送,pipe值为“p
”,不然为“.
”。
$request_length
请求的长度(包括请求行,请求头和请求正文)。
$request_time
请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$status
响应状态。
$time_iso8601
ISO8601标准格式下的本地时间。
$time_local
通用日志格式下的本地时间。
发送给客户端的响应头拥有“sent_http_
”前缀。 好比$sent_http_content_range
。
配置始终包含预先定义的“combined
”日志格式:
log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';
语法: | open_log_file_cache open_log_file_cache |
默认值: | open_log_file_cache off; |
上下文: | http , server , location |
定义一个缓存,用来存储频繁使用的文件名中包含变量的日志文件描述符。 该指令包含如下参数:
max
设置缓存中描述符的最大数量;若是缓存被占满,最近最少使用(LRU)的描述符将被关闭。
inactive
设置缓存文件描述符在多长时间内没有被访问就关闭; 默认为10秒。
min_uses
设置在inactive
参数指定的时间里, 最少访问多少次才能使文件描述符保留在缓存中;默认为1。
valid
设置一段用于检查超时后文件是否仍以一样名字存在的时间; 默认为60秒。
off
禁用缓存。
使用实例:
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;