nginx的日志 log_format设置

 

nginx的日志包含了两类,一类是error.log,一类是access.log。

1.error.log的设置:

   error_log的默认值:

#error_log  logs/error.log  error;

  error_log的语法格式及参数语法说明如下:

    error_log        ;

    关键字        日志文件   错误日志级别

    关键字:其中关键字error_log不能改变

    日志文件:可以指定任意存放日志的目录

    错误日志级别:常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。

    生产场景一般是 warn | error | crit 这三个级别之一

注意:不要配置info等级较低的级别,会带来大量的磁盘I/O消耗。

error_log参数的标签段位置:

main, http, server, location

比如:我的nginx中记录的位置为:

nginx的日志 log_format设置_第1张图片

就会在我设置的位置产生log文件:

nginx的日志 log_format设置_第2张图片

2.access.log文件的设置:

Nginx访问日志主要有两个参数控制

log_format   #用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可)

access_log  #用来指定日至文件的路径及使用的何种日志格式记录日志

比如我的文件设置:

nginx的日志 log_format设置_第3张图片

nginx的日志 log_format设置_第4张图片

查看日志内容:

其实这里我们主要讲述的是log_format的设置,以及各个字段的含义:

log_format格式变量:

    $remote_addr  #记录访问网站的客户端地址

    $remote_user  #远程客户端用户名

    $time_local  #记录访问时间与时区

    $request  #用户的http请求起始行信息

    $status  #http状态码,记录请求返回的状态码,例如:200、301、404等

    $body_bytes_sent  #服务器发送给客户端的响应body字节数

    $http_referer  #记录此次请求是从哪个连接访问过来的,可以根据该参数进行防盗链设置。

    $http_user_agent  #记录客户端访问信息,例如:浏览器、手机客户端等

    $http_x_forwarded_for  #当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置

	log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
	        '$status $body_bytes_sent "$http_referer" '
	        '"$http_user_agent" $http_x_forwarded_for '
	 '"$upstream_addr" "$upstream_status" "$upstream_response_time" "$request_time"';

其实我们设置这些,主要是记录下来访问以及出错的情况,这样方便我们定位问题和分析。

你可能感兴趣的:(Linux运维与shell编程)