Nginx配置日志(error_log/access_log)

Nginx中的日志分两种,一种是error_log,一种是access_log。
“error_log”名字虽然叫error,但它可以配置成任意级别,默认级别是error,用来记录Nginx运行期间的处理流程相关的信息;
“access_log”指的是“访问日志”,用来记录服务器的接入信息(包括记录用户的IP、请求处理时间、浏览器信息等)。


1. error_log:

error_log是Nginx中用来配置日志打印的指令,在Nginx源码中的 “ngx_http_core_module.c” 文件中,“ngx_http_core_commands” 中就有 “error_log” 这个指令:

Nginx的error_log分级如下:

在这里插入图片描述

在这里插入图片描述

级别越高信息越少,默认error。
可以配置在main、http、server、location里面,按需要的模块进行打印。

如何配置error_log:

# 举例:
error_log /var/log/nginx/error.log   crit

# 格式:
error_log  [log文件存储路径] [日志级别]

如果想彻底关闭error_log:

error_log /dev/null;

使用举例:

http {
	server {
		location / {
			root /usr/local/nginx/html/;
		}
		error_log /usr/local/nginx/my_log.log  warn; 
	}
}

对某一个IP的用户输出debug级别的日志,其他终端仍按error_log中的配置进行日志打印:

# 举例:
events { 
	debug_connections  127.0.0.1;
}

# 格式:
debug_connections  IP;
debug_connections CIDR;

这个配置必须放在 events{} 下面,因为这是处理客户连接相关的配置。

2. access_log:

如何配置access_log:

access_log  [path] [format [buffer=size] [gzip=level] [flush=time] [if=confition] ];

access_log  off;     #关闭日志

其中,path用于指定log的存放路径;
format用于配置log格式:buffer指示日志的缓存大小,默认64k;gzip指示压缩比,从1到9,数字越大压缩比越大,压缩速度也越慢,默认为1;flush设置清空缓存的时间;if为日志写入判断条件,为0或为空语句则不写入。

使用举例:

access_log  /var/logs/my_access.log

猜你喜欢

转载自blog.csdn.net/ArtAndLife/article/details/110357995