Bootstrap

nginx 日志级别

Nginx的访问日志(access log)记录了所有对Nginx服务器的请求信息。默认情况下,Nginx不提供设置日志级别的功能,因为日志级别是根据请求的结果来记录的,不是根据请求本身来设置的。但是,你可以通过配置文件来改变日志的格式和内容。

如果你想要减少日志记录的信息量,可以通过配置文件来自定义日志格式,只记录你感兴趣的信息。例如,你可以配置Nginx只记录错误请求的日志。

以下是一个Nginx配置文件的例子,它只记录错误请求的日志:

http {
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log /var/log/nginx/access.log main;
 
    # 以下是只记录错误请求的日志配置
    error_log /var/log/nginx/error.log warn;
 
    server {
        listen       80;
        server_name  localhost;
 
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
 
            # 如果请求状态码大于等于400,将请求记录到错误日志
            error_log /var/log/nginx/error.log error;
            if ($status >= 400) {
                access_log /var/log/nginx/error.log error;
            }
        }
    }
}

在这个配置中,error_log 指令设置了错误日志的路径和级别。access_log 指令记录所有请求到/var/log/nginx/access.log,然而在location块中,我们使用if指令来判断请求的状态码,如果状态码大于等于400,则将这个请求的日志记录到/var/log/nginx/error.log。这样就实现了只记录错误请求日志的目的。 

;