1、nginx的log日志分为access log 和 error log
其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息;error log 则是记录服务器错误日志

错误日志的形式如下:

10.1.1.1 - - [22/Aug/2014:16:48:14 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 367 "-" "Dalvik/1.6.0 (Linux; U; Android 4.1.1; ARMM7K Build/JRO03H)" "119.189.56.175" 127.0.0.1:8090 0.022 0.022
10.1.1.1 - - [22/Aug/2014:16:48:19 +0800] "POST /ajax/MbpRequest.do HTTP/1.1" 200 616 "-" "Dalvik/1.6.0 (Linux; U; Android 4.0.4; GT-I9103 Build/IMM76D)" "36.250.89.22" 127.0.0.1:8090 0.036 0.036 

2、从上面我们可以看出几部分信息:

1.客户端(用户)IP地址。如:上例中的 10.1.1.1 (内网负载均衡地址)
2.访问时间。如:上例中的 [22/Aug/2014:16:48:19 +0800]
3.访问端口。如:上例中的 127.0.0.1:8080
4.响应时间。如:上例中的 0.022
5.请求时间。如:上例中的 0.022
6.用户地理位置代码(国家代码)。
7.请求的url地址(目标url地址)的host。如:上例中的 /….
8.请求方式(GET或者POST等)。如:上例中的 GET
9.请求url地址(去除host部分)。如:上例中的 /html/test.html
10.请求状态(状态码,200表示成功,404表示页面不存在,301表示永久重定向等,具体状态码可以在网上找相关文章,不再赘述)。如:上例中的 “200”
11.请求页面大小,默认为B(byte)。如:上例中的 2426
12.来源页面,即从哪个页面转到本页,专业名称叫做“referer”。如:上例中的 “http://a.com”
13.用户浏览器语言。如:上例中的 “es-ES,es;q=0.8”
14. 用户浏览器其他信息,浏览器版本、浏览器类型等。如:上例中的 “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11”
其实nginx access日志的格式不是一成不变的,是可以自定义的。
在nginx的nginx.conf配置文件找到:log_format 这里就是日志的格式
看一下和上述日志匹配的log格式设置:

access日志格式配置,具体参数不再细说,上面都已经说过了,自己对应一下即可

 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"''$upstream_addr $upstream_response_time $request_time ';access_log  logs/access.log  main;

配置access log日志的存储位置及文件,注意:access.log文件是可以按日期进行分割的,方便查看及处理
access_log /usr/local/nginx/log/access.log main;

相关说明解释

 1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;2.$remote_user :用来记录客户端用户名称;3.$time_local : 用来记录访问时间与时区;4.$request : 用来记录请求的url与http协议;5.$status : 用来记录请求状态;成功是200,6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;7.$http_referer :用来记录从那个页面链接访问过来的;8.$http_user_agent :记录客户端浏览器的相关信息;

3、nginx按日期分割存储日志,需要写shell脚本

首先写一个sh的文件autolog.sh

#!/bin/sh
# Program:
#     Auto cut nginx log script.
LOGS_PATH=/usr/local/nginx/logs #你的日志目录
TODAY=$(date -d 'yesterday' +%Y-%m-%d)
#TODAY=history
# 移动日志并改名
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error-back/error_${TODAY}.log #设置将生成的日志放到新的位置
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access-back/access_${TODAY}.log  # 向nginx主进程发送重新打开日志文件的信号
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)  #你的nginx.pid所在位置 找不到的话可以看一下nginx的conf文件   

然后写一个crontab ps.有一点要注意 kill这个命令需要执行权限 所以crontab最好写在root下
0 0 * * * /bin/bash 你的脚本路径/autolog.sh
这样就可以了

参考:http://blog.chinaunix.net/uid-29179844-id-4433640.html

nginx日志格式及自定义日志配置相关推荐

  1. python:继承日志模块生成自定义日志

    1 继承日志模块生成自定义日志 from __future__ import absolute_importimport os import sys import time import dateti ...

  2. 基于.NetCore3.1系列 —— 日志记录之自定义日志组件

    前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(IL ...

  3. mysql row 日志格式_mysql row日志格式下 查看binlog sql语句

    有时候我们需要使用row作为binlog的日志格式,即配置文件使用了binlog_format= row 参数 这样以来,我们在查看数据库binlog内容时候,就看不到增删改查的具体语句了,在数据库恢 ...

  4. php日志格式,ThinkPHP5 修改日志格式(按模块分割日志) | 剑花烟雨江南

    日志,是我们分析代码和调试bug的好助手.在Thinkphp5 中,日志内的记录可以说是十分详细,但是所有的的日志都集中一个文件内,让我们很难准确定位到问题.因此我们尝试将Thinkphp5 的日志按 ...

  5. php慢日志 格式,php慢日志记录和错误日志(转)

    php的日志是值得关注的,包含错误日志和慢日志 一 错误输出 找到php.ini log_errors = On ; Log errors to specified file. error_log = ...

  6. mysql+web日志分析工具_WEB日志格式及分析工具

    WEB日志是网站分析和网站数据数据整理最基础的数据,了解其格式和组成将有利于更好地进行数据的收集.处理和分析. 一.日志格式类型 目前常见的WEB日志格式主要由两类,一类是Apache的NCSA日志格 ...

  7. Nginx配置中的log_format用法梳理(设置详细的日志格式)

    Nginx配置中的log_format用法梳理(设置详细的日志格式) nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志 ...

  8. Nginx配置-日志格式配置

    Nginx配置-日志格式配置 一.默认的日志格式 二.我使用的日志格式 三.参数 四.测试效果 五一上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下 ...

  9. nginx如何自定义日志记录格式?

    Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志).通过访问日志我们可以得到用户的IP地址.浏览器的信息,请求的处理时间等.错误日志记录了访问出错的信息,可以 ...

最新文章

  1. 优雅的在React项目中使用Redux
  2. mysql 主从热备_windows10本地两个mysql8服务配置主从热备
  3. js 异步操作打开新页面被浏览器拦截的问题
  4. 【整理】史上最强的娱乐大餐———九奔、汉澳、器普。。。。。。
  5. 深入显出谈Java的发展历程及语言特点
  6. Could not find module ‘D:\codna\Library\bin\geos_c.dll‘
  7. SqlServer驱动包不同,取出数据的编码居然不同
  8. python批量更改图片尺寸(保持长度和高度的长短关系)
  9. 如何使用Tuxera NTFS for Mac将FAT 32U盘转换为NTFS格式
  10. 24.事务控制和锁定语句
  11. 数字电视 frontend tuner demod
  12. java 学习资料总结
  13. Javascript网页设计作业: HTML班级网页设计 基于HTML+CSS+JS制作我们的班级网页(web前端学生网页设计作品)
  14. 基于web的木子日记个人博客网站的设计与实现
  15. 【正交调制的通信的工程实现!!!】--比通原书讲得好多了,书上大都泛泛而谈!受益匪浅
  16. godot引擎学习6
  17. c语言bmp位图读入,c语言 bmp位图差分
  18. 【动态规划】SSL_1322 清兵线
  19. java导出excel报表_java生成excel报表文件示例
  20. 《深度学习100例》目录

热门文章

  1. 怎么主动发起话题_怎么跟喜欢的人聊天找话题?这8个技巧让你侃侃而谈
  2. 计算机网络与协议实验VLAN配置,计算机网络实验三虚拟局域网vlan划分与配置
  3. 《安富莱嵌入式周报》第298期:迷你火星探测器,开源单片机3D实时渲染库, 开源USB工业相机,VS2022开始支持MarkDown,PC-lint 2.0发布
  4. idea 启动报错: Failed to create JVM.JVM.Path XXXXXXX\jbr\ 我的解决办法
  5. 2021SC@SDUSC(dolphinscheduler- common4)
  6. spring注解 @primary
  7. 200人 500人规模园区网设计(中小企业网络)
  8. git 入门教程之回到过去
  9. Shell系统学习之什么是Shell
  10. Oracl中PL/SQL编程(10级学员 张帅鹏课堂总结)