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

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

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

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

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

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

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

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

Nginx如何对日志文件进行配置?的更多相关文章

  1. nginx日志文件的配置

    文章来源 运维公会: nginx日志文件的配置 1.日志介绍 nginx有两种日志,一种是访问日志,一种是错误日志. 访问日志中记录的是客户端对服务器的所有请求. 错误日志中记录的是在访问过程中,因为 ...

  2. eclipse集成tomcat日志文件输出配置

    eclipse集成tomcat日志文件输入配置 2015-07-21 00:13 1072人阅读 评论(0) 收藏 举报  分类: tomcat(1)  eclipse Where can I vie ...

  3. Nginx总结(八)Nginx服务器的日志管理及配置

    前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要 ...

  4. phpunit 生成三种日志文件的配置方法

    #目录结构 windows bin目录下 ├── phpunit.phar ├── phpunit.cmd ├── phpunit.xml ├── build.xml ├── ArrTest.php ...

  5. 自动分割nginx服务的日志文件

    nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能.通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能. #!/bin/bash ...

  6. MySQL复制(二)--基于二进制日志文件(binlog)配置复制

    基础环境:   主库 从库 服务器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的数据库 mysql> show databases; ...

  7. 日志文件的配置----【logback-spring.xml】

    一.引入相关包 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-c ...

  8. Nginx 分析access日志文件

    Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时 ...

  9. 关于pptpd log日志文件的配置

    如何开启pptpd默认日志记录功能. 修改/etc/ppp/options.pptpd中的nologfd,默认没有开,把nologfd注释掉,然后添加 logfile /var/log/pptpd.l ...

随机推荐

  1. spring cloud--zuul网关和zuul请求过滤

    这里仍然以Windows和jdk为运行环境,按照下面的步骤打包-运行-访问就能看到效果.启动项目jar包: java -jar F:\jars-zuul\register-0.0.1-SNAPSHOT ...

  2. 2018-2019-2 网络对抗技术 20165231 Exp2 后门原理与实践

    实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shell, 任务计划启动 3.使用MSF meterpreter(或其他软件)生成可执行文件,利用n ...

  3. Tomcat8.0.11优化相关

    Tomcat 8.0.X: 要了解tomcat的优化,我们先看看Tomcat的官方定义:The Apache Tomcat® software is an open source implementa ...

  4. selenium+python自动化测试,上传文件怎样实现

    其实上传图片操作与输入框的输入是一样的,一种是在输入框中输入字符信息,一种是在输入文件格式的信息,下面是用代码实现上传文件, from selenium import webdriverfrom ti ...

  5. Python3学习笔记之十九

    1.    什么是orm? object  relation mapping  对象关系映射 一旦确定表关系为一对多:在多的表中添加关联字段. 一对一:可以在任意一张表添加关联字段. 多对多:创建第三 ...

  6. 用vue实现点击编辑按钮将li变为可以输入文本的input

    <template> <li v-if='flag'><span @click='edit()'>点击一下</span></li> < ...

  7. Fisher–Yates shuffle 洗牌算法

    Fisher-Yates shuffle 是一种生成有限序列的随机排列的算法--简单地说,该算法可以对序列进行混排.本人能力有限,且懒.不会扒论文去研究该算法在数学上的证明,只能抄袭网上的博客总结一遍 ...

  8. Deepin 自动挂载win NTFS磁盘

    安装了双系统 WIN10+Deepin15.4,系统开机进入Linux,刚开始在/media/my-PC里面还能看到win系统上的C.E.F盘,系统提示更新后,再次打开/media 看不见NTFS分区 ...

  9. iOS开发从申请开发账号到APP上架的整体流程详解

    应公司要求,写一份文档从申请账号一直到APP上架的整体流程,下面进入正文. https://blog.csdn.net/qq_35612929/article/details/78754470 首先第 ...

  10. The type 'Expression<>' is defined in an assembly that is not referenced.You must add a reference to assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

    在我将一个.net framework 4.0+mvc4+ef5的项目,升级到.net framework 4.6.1+mvc5+ef6之后,解决了所有的升级带来的问题,唯独在razor的cshtml ...