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
。这样就实现了只记录错误请求日志的目的。