「Nginx」- 日志处理

在 Nginx 中,我们需要调整日志输出,以显示更多的信息进行请求调试、检查请求内容。该笔记将记录:在 Nginx 中,如何使用日志、自定义日志格式 等等。

描述

server {
    error_log   /var/log/nginx/error.log debug;
    access_log  /var/log/nginx/access.log;
}

默认格式

Module ngx_http_log_module

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

应用

自定义的日志格式

NGINX Docs | Configuring Logging

在如下示例中,使用 log_format 指令,定义名为 compression 的日志格式,然后在 access_log 中通过 compression 引用:

http {
    log_format compression '$remote_addr - $remote_user [$time_local] '
                           '"$request" $status $body_bytes_sent '
                           '"$http_referer" "$http_user_agent" "$gzip_ratio"';

    server {
        gzip on;
        access_log /spool/logs/nginx-access.log compression;
        ...
    }
}

还有很多其他的特性,但是我们没有需求,所以这里简单记录,不再深入: