nginx 日志配置不生效的问题
log_format 有个默认的日志格式:
log_format combined '$remote_addr - $remote_user [$time_local] ' ' "$request" $status $body_bytes_sent ' ' "$http_referer" "$http_user_agent" ';
nginx 默认调用 combined 格式来记录日志,即默认调用:(默认记录在access.log文件中)
access_log logs/access.log combined;
nginx允许自定义日志格式,例如:
log_format main '$remote_addr - $remote_user [$time_local] "$http_host" "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for $request_time';
以上是自定义了日志格式:main(main名称可以自定义)
要想使其生效,就必须用access_log指定调用:
access_log logs/xx.log main;
否则,nginx仍然会去调用combined格式来记录日志。
注意,http段也必须明确指定调用main格式才会生效,否则还是会调用默认的combined格式。
(我就曾经犯傻,http段没有调用main格式,却一直搞不懂为啥默认日志文件access.log里边没有生效!)