用log_format指令设置了日志格式之后,需要用access_log指令指定日志文件存放路径。access_log指令的语法如下
access_log path [format [buffer=size | off]]
其中path标识日志文件的存放路径,format表示使用log_format指令设置的日志格式的名称,buffer=size标识设置内存缓冲区的大小,例如可以设置buffer=32k
1、如果不想记录日志,可以使用一下指令关闭日志:
access_log off;
2、如果想使用默认的combined格式的日志记录,可以使用以下示例:
access_log /data1/logs/filename.log;
或者
access_log /data1/logs/filename.log combined;
3、如果想使用自定义格式的日志记录,可以使用以下示例,其中的mylogformat是日志格式名称:
log_format mylogformat '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer"'
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/access.log mylogformat buffer=32k;
4、在nginx0.7.4之后的版本中,access_log指令中的日志文件路径可以包含遍历,例如:
access_log /data1/logs/$server_name.log combined;
假设server_name指令设置的虚拟主机名称为test.domain.com,那么access_log指令将把访问日志记录在/data1/logs/test.domain.com.log文件中。