在我们日常工作开发中,对调试bug最重要的手段就是查看日志和断点调试了。

今天我们来说日志文件,Nginx的日志文件一般保存的是访问日志和错误日志。

1. 用来log_format指令设置日志格式

  log_format指令语法:log_format name format [format ...]
Nginx默认的combined格式如下:
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
定义日志使用的字段及其作用: $remote_addr 和$http_x_forward_for用于记录IP地址
$remote_user 用于记录远程客户端用户名称
$time_local 用于记录访问时间和时区
$request 用于记录请求URL与HTTP协议
$status 用于记录请求状态
$body_bytes_sent 用于记录发送给客户端的文件主体内容大小,不包括响应头的大小
$http_referer 用于记录是从哪个页面链接访问过来的
$http_user_agent 用于记录客户端浏览器的相关内容
$bytes_sent 用于发送给客户端的总字节数
$connection 用于连接的序列号
$connection_requests 用于当前通过一个连接获得的请求数量
$msec 用于日志写入时间。单位为秒,精度是毫秒
$pipe 用于如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”
$request_length 用于请求的长度(包括请求行,请求头和请求正文)
$request_time 用于请求处理时间,单位为秒,精度毫秒
$time_iso8601 用于ISO8601标准格式下的本地时间
$time_local 用于记录访问时间与时区

2. 用access_log指令指定访问日志文件存放路径

    access_log指令语法:access_log path [format [buffer=size | off]]
format即第一点中log_format的name,如何设置了format,那么日志文件就会按设置的日志格式生成日志文件.
butter=size表示内存缓冲区的大小,例如可以设置buffer=32k

3. 用error_log指令指定错误日志文件存放路径

    error_log    <FILE>    <LEVEL>;
<FILE>:可以指定任意存放日志的目录
<LEVEL>:错误日志级别,常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。
生产场景一般是 warn | error | crit 这三个级别之一 关闭error_log的方法:error_log /dev/null;

最新文章

  1. WEB测试方法及注意地方
  2. java HashMap那点事
  3. [知识点]A*搜索(启发式搜索)
  4. jade反编译
  5. MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
  6. java中的hashtable
  7. Continue
  8. opencv基础到进阶(1)
  9. 优化css选择器
  10. org.hibernate.MappingException:Unknown entity:java.util.ArrayList
  11. [LeetCode] Bus Routes 公交线路
  12. Unable to resolve target &#39;android-15&#39;
  13. CentOS配置VSFTP服务
  14. Harbor 搜索镜像及查看 tag
  15. 通过改变unity中物体的alpha值实现若隐若现的效果
  16. 多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
  17. centos6.8 mysql5.6.34 root密码重置
  18. Notepad++去除COPY代码行号的几种方法
  19. VS2015 C#6.0 中的没有实现/支持的特性
  20. Python学习---Django的新工程设置模板

热门文章

  1. jmeter 压力测试安装教程
  2. 团队Github实战训练
  3. [HASH]MOD运算用户哈希函数
  4. JVM学习资料
  5. 神经网络的另一种非线性阶跃函数---ReLU函数
  6. UOJ#449. 【集训队作业2018】喂鸽子 min-max容斥,FFT
  7. Kafka消费者组再均衡问题
  8. C语言第01次作业--顺序、分支结构
  9. pycharm中range的应用
  10. MyIbatis和Hibernate的区别--2019-04-26