日志类型
error.log
nginx 错误日志
```
error_log logs/error.log;
error_log logs/error.log notice; //前面是路径,后面是错误级别
error_log logs/error.log info;
```
access_log
nginx 每一次访问日志
```
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
// '' 是对多个变量的囊括
// - [] 等会被当做分隔符打印在变量中间
// $remote_addr 客户端地址
// $remote_user 客户端请求的用户名,没有开启认证模块,不会被记录
// $time_local 时间
// $request 请求头信息
// $status 返回状态
// $body_bytes_sent 响应的 body 的大小
// $http_referer 上一级访问的地址,不是客户端上一次访问的页面地址
// $http_user_agent 访问的客户端类型(浏览器,curl,等)
// $http_x_forwarded_for 每一级请求中的 http 信息
access_log logs/access.log main;
// logs/access.log 是路径,
// main是格式名字,和上面 log_format 中定义的变量名要对应。
```
log_format
Syntax: log_format name [escape=default|json] string ...;
// log_format 是关键字。
// name 格式的名字,可以自定义,类似于变量名。
// $xxx 这是 log_format 的变量。
Default: log_format combined "...";
Context: http
// 只能配置在 http 模块下
可以放在 log_format 中的变量
第一种:HTTP 请求变量
arg_PARAMETER
、http_HEADER
、sent_http_HEADER
例如,想要记录 http 头部信息中的 User-Agent 信息。需要这么配置
log_format main '$http_user_agent';
注意,前面要有 $ 符号,所有字母小写,有中划线要换成下划线。
第二种:Nginx 内置变量
Nginx 支持的变量太多,可以访问官网查看。
网友评论