这时候,要用log_format指令设置日志格式,让日志记录X-Forearded-For信息中的IP地址,即客户的真实IP。 例如,创建一个名为mylogformat的日志格式,再$http_x_forwarded_forlog_for变量记录用户的X_Forwarded-ForIP地址: log_format mylogformat'$http_x_forwarded_for_$remote_user [$time_local]'‘"$request"$...
但是我发现后来我还需要其他参数,于是在回来仔细学习 log_format 这个配置项。 假如我想检测一个API的响应时间,从入口文件打断点也是以一种办法,但是我们为什么不用 nginx 日志自带的一些配置来解决这个问题呢? 这里的问题就衍生了关于 nginx 的 log_format 的学习。 -- 这里先列出默认的 log_format 的配置 -- ...
log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$upstream_response_time"'; 1. 2. 3. -- 重启我的 nginx server 服务 之前的 log 192.168.37.1 - -...
这时候,要用log_format指令设置日志格式,让日志记录X-Forearded-For信息中的IP地址,即客户的真实IP。 例如,创建一个名为mylogformat的日志格式,再$http_x_forwarded_forlog_for变量记录用户的X_Forwarded-For IP 地址: log_format mylogformat '$http_x_forwarded_for_$remote_user [$time_local]' ‘"$req...
$time_local #服务器时间(LOG Format 格式) $cookie_NAME #客户端请求Header头中的cookie变量,前缀"$cookie_"加上cookie名称的变量,该变量的值即为cookie名称的值 $http_NAME #匹配任意请求头字段;变量名中的后半部分NAME可以替换成任意请求头字段,如在配置文件中需要获取http请求头:"Accept-Language",$http_acc...
如果不想使用Nginx预定义的格式,可以通过log_format指令来自定义。 2、Nginx自定义日志语法及常用变量 代码语言:javascript 复制 log_format name[escape=default|json]string...; name 格式名称。在access_log指令中引用。 escape 设置变量中的字符编码方式是json还是default,默认是default。
这里是我的nginx.conf配置,咱们主要看log_formatmyformat,log_format是声明日志格式,myformat是这个格式化的名称,也许自己表达能力有限,可以理解为java中的String abc,String是字符串类型,abc是这个字符串变量的名称。 还要注意下这里,access_log /var/log/nginx/webgate.access.log myformat; ...
log_format有一个默认的、无须设置的combined日志格式设置,相当于Apache的combined日志格式,其具体参数如下: log_format combined '$remote_addr-$remote_user [$time_local]' ' '$request' $status $body_bytes_sent' ' '$http_referer' '$http_user_agent' '; ...
Syntax:(语法:)log_formatname[escape=default|json|none]string...; 备注:结合上面的使用示例 ,语法中的 name=main , 然后 [escape=default|json|none]这些参数都没有填 , 语法中的 string就是后面所有的字符串了 , 示例中string 的值全是不同的变量拼接的一个字符串 , 所以下面还得接着看看Nginx变量的介...