log_format

log_format专门用于定义服务日志的格式,并且可以为格式字符串定义一个名字,以便access_log指令可以直接调用。其语法格式为:

log_format name string ...;
  • name:格式字符串的名字。

  • string:服务日志的格式字符串。在定义过程中,可以使用Nginx配置预设的一些变量获取相关内容,变量的名称使用双引号括起来,string整体使用单引号括起来

此指令只能在http块中进行配置

一个示例:

log_format  exampleLog  '$remote_addr - [$time_local] $request '
                  '$status $body_bytes_sent $http_referer '
                  '$http_user_agent';

这条配置定义了服务日志文件的名称为exampleLog,日志输出内容如下

192.168.1.102 - [31/Oct/2011:20:41:39 +0800] "GET /favicon.ico HTTP/1.1" 404 570 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"
  • $remote_addr获取到用户机的IP地址为192.168.1.102

  • $time_local获取到本地时间为31/Oct/2011:20:41:39 +0800

  • $request获取到请求为GET /favicon.ico HTTP/1.1

  • $status获取到请求状态为404

  • $body_bytes_sent获取到请求体的大小为570B

  • $http_referer未获取到任何内容

  • $http_user_agent获取到用户使用Mozilla浏览器。

Last updated