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里边没有生效!)

原文地址:https://www.cnblogs.com/hjqjk/p/6337447.html