龙空技术网

「Nginx」03节-Nginx日志

网络圈 438

前言:

现在同学们对“nginx的错误日志级”大概比较珍视,姐妹们都想要知道一些“nginx的错误日志级”的相关内容。那么小编在网摘上收集了一些有关“nginx的错误日志级””的相关知识,希望各位老铁们能喜欢,兄弟们快快来学习一下吧!

概述

Nginx日志主要有两种:access_log(访问日志)、error_log(错误日志)。

Nginx access_log 访问日志

Nginx中的access_log主要记录客户端访问Nginx的每一个请求,我们可以自定义它的格式。通过access_log可以得到用户的IP来源、跳转来源、使用的终端信息、某个URL访问量等相关信息。

log_format 指令用于定义日志的格式,语法为:

log_format name string;

其中,name表示格式名称,string表示定义的格式字符串,log_format有一个默认的无需设置的日志格式,缺省的日志格式为:

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

access_log 指令用来指定访问日志文件的存放路径、格式和缓存大小,其语法为:

access_log path [format_name [buffer=size | off]];

其中,path表示访问日志存放路径,format_name表示访问日志格式名称,buffer表示缓存大小,off表示关闭访问日志,如:

log_format myformat '$remote_addr $status $time_local';access_log logs/access.log myformat;

注意事项:

log_format 配置必须放在http配置节内,否则会警告;Nginx进程设置的用户和组,必须对日志路径有创建文件的权限,否则会报错;常用日志字段介绍$remote_addr 、$http_x_forwarded_for :记录客户端IP地址$remote_user:记录客户端用户名称$request:记录请求的URL和HTTP协议$status:记录请求的状态$body_bytes_sent:发送给客户端的字节数,不包括响应头的大小$bytes_sent:发送给客户端的总字节数$connection:连接的序列号$connection_requests:当前通过一个连接获得的请求数量$msec:日志写入时间,单位为秒,精度为毫秒$http_referer:记录从哪个页面链接访问过来的$http_user_agent:记录客户端浏览器相关信息$request_length:请求的长度(含请求行、请求头、请求正文)$request_time:请求处理时间,单位为秒,精度为毫秒$time_local:记录访问的时间及时区信息Nginx error_log 错误日志

error_log 主要记录客户端访问Nginx的出错信息,格式无法自定义。通过查看错误日志,我们可以看出某个服务或服务器的性能瓶颈等。

error_log 指令用来指定错误日志,语法为:

error_log path [level];

其中,path表示错误日志存放路径,level表示错误日志等级(debug、info、notice、warn、error、crit、alert、emerg)。从左到右,日志详细度逐级递减(debug最详细,emerg最简单),默认级别为error。

error_log 放在全局配置中,如:

如何关闭错误日志?

Linux下关闭Nginx error_log

error_log /dev/null;
Windows下关闭Nginx error_log
error_log nul;

标签: #nginx的错误日志级