在Nginx中日志文件是由log_format这个指令来定义的,它的语法如下:

log_format  name  format
##  name:指的是日志格式的名称(后面调用)
##  format:设置日志具体格式的

实例:

# onelog

   log_format onelog '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"'
                     '"$request_time"';
# twolog

   log_format twolog '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$request_time"';


参数说明:

  • $remote_addr 和 $http_x_forwarded_for:记录客户端的ip地址。

  • $remote_user:记录客户端用户名称。

  • $time_local:记录访问时间与时区。

  • $request:记录请求的URL与HTTP协议。

  • $status:记录请求状态;成功是200。

  • $body_bytes_sent:记录发送给客户端文件主体内容大小。

  • $http_referer:记录从那个页面链接访问过来的。

  • $http_user_agent:记录客户端浏览器的相关信息。

  • $request_time : 记录request请求时间

log_format  name 参数可以用来指定不同的日志格式

例:

   access_log /var/log/nginx/access.log onelog;

or

 access_log /var/log/nginx/access.log twolog;

日志打印的格式分别和上面不同name参数所定义的格式相同