nginx日志模块及日志格式
2019独角兽企业重金招聘Python工程师标准>>>
配置实例 指令 access_log log_format open_log_file_cache |
ngx_http_log_module
模块按指定的格式写访问日志。
请求在处理结束时,会按请求路径的配置上下文记访问日志。 如果在请求处理期间产生了内部跳转, 请求结束时的路径可能不同于原始的请求路径。
配置实例
log_format gzip '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" "$gzip_ratio"';access_log /spool/logs/nginx-access.log gzip buffer=32k;
指令
语法: |
access_log path [format [buffer =size ]];access_log off;
|
默认值: |
access_log logs/access.log combined; |
上下文: |
http , server , location , if in location , limit_except
|
为访问日志设置路径,格式和缓冲区大小(nginx访问日志支持缓存)。 在同一个配置层级里可以指定多个日志。 特定值off
会取消当前配置层级里的所有access_log
指令。 如果没有指定日志格式则会使用预定义的“combined
”格式。
缓冲区的大小不能超过磁盘文件原子性写入的大小。 对于FreeBSD来说缓冲区大小是无限制的。
日志文件的路径可以包含变量(0.7.6+), 但此类日志存在一些限制:
- 工作进程使用的user 应拥有在目录里创建文件的权限;
- 写缓冲无效;
- 每条日志写入都会打开和关闭文件。然而,频繁使用的文件描述符可以存储在缓存中, 在open_log_file_cache指令的
valid
参数指定的时间里, 写操作能持续写到旧文件。 - 每次日志写入的操作都会检查请求的 根目录是否存在, 如果不存在则日志不会被创建。 因此在一个层级里同时指定root 和
access_log
是一个不错的想法:
server {root /spool/vhost/data/$host;access_log /spool/vhost/logs/$host;...
语法: |
log_format name string ...;
|
默认值: |
log_format combined "..."; |
上下文: |
http
|
指定日志的格式。
日志格式允许包含普通变量和只在日志写入时存在的变量:
$body_bytes_sent
发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config
里的“%B
”参数兼容。
$bytes_sent
发送给客户端的总字节数。
$connection
连接的序列号。
$connection_requests
当前通过一个连接获得的请求数量。
$msec
日志写入时间。单位为秒,精度是毫秒。
$pipe
如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p
”,否则为“.
”。
$request_length
请求的长度(包括请求行,请求头和请求正文)。
$request_time
请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$status
响应状态。
$time_iso8601
ISO8601标准格式下的本地时间。
$time_local
通用日志格式下的本地时间。
发送给客户端的响应头拥有“sent_http_
”前缀。 比如$sent_http_content_range
。
配置始终包含预先定义的“combined
”日志格式:
log_format combined '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent"';
语法: |
open_log_file_cache max=N [inactive =time ] [min_uses =N ] [valid =time ];open_log_file_cache off;
|
默认值: |
open_log_file_cache off; |
上下文: |
http , server , location
|
定义一个缓存,用来存储频繁使用的文件名中包含变量的日志文件描述符。 该指令包含以下参数:
max
设置缓存中描述符的最大数量;如果缓存被占满,最近最少使用(LRU)的描述符将被关闭。
inactive
设置缓存文件描述符在多长时间内没有被访问就关闭; 默认为10秒。
min_uses
设置在inactive
参数指定的时间里, 最少访问多少次才能使文件描述符保留在缓存中;默认为1。
valid
设置一段用于检查超时后文件是否仍以同样名字存在的时间; 默认为60秒。
off
禁用缓存。
使用实例:
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
转载于:https://my.oschina.net/u/259976/blog/832536
nginx日志模块及日志格式相关推荐
- python日志模块 限制日志记录数_python日志记录-logging模块
1.logging模块日志级别 使用logging模块简单示例: >>>import logging >>>logging.debug("this's a ...
- 【python】日志模块以及日志组件使用
1. 日志级别 级别排序:CRITICAL > ERROR > WARNING > INFO > DEBUGlogging.critical() -->输出CRITICA ...
- python日志模块 超量处理_Python日志模块-多进程日志记录
一.问题描述 项目中,使用RotatingFileHandler根据日志文件大小来切分日志.设置文件的MaxBytes为1GB, backupCount大小为5. 经查看,发现日志文件的大小均小于10 ...
- python 技术篇-使用logging日志模块自定义时间格式
首先看一下效果图: 下面是我定义的日志格式: import logginglogging.basicConfig(filename = path + 'log_' + today_date + '.t ...
- python包的初始与日志模块
什么是包 创建一个aaa的包,自行创建一个__init__py文件 回忆 创建一个tbjx模块发生的三件事: 将该tbjx文件加载到内存. 创建一个以tbjx命名的名称空间. 通过tbjx. 的方式引 ...
- 自己动手写数据库:数据库系统的日志模块实现
任何一个应用只要冠以"系统"二字,那么它一定离不开一个模块,那就是"日志".既然我们要开发一个数据库系统,那么它必然要有自己的日志模块.日志通常用于记录系统的运 ...
- 【苹果cms10 Maccmsv10 站群深度定制版 开发日志】 新增日志模块
熊猫站群系统@苹果MacCmsV10 熊猫电影站群系统@苹果MacCmsV10是一款专门为每个做站群的独行侠量身打造的省时省力省心的电影站群系统. 作为站群的重度使用者,深知作站痛点.从站长角度出发, ...
- Nginx服务学习(6)-日志模块
日志模块的说明 日志的默认路径:error_log /var/log/nginx/error.log warn; warn是指日志的等级,一般有debug, info, notice, warn, e ...
- python 日志输出为json格式文件_Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)...
一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据 ...
最新文章
- php页面刷新$_session会变化,每次刷新页面都会生产新的session_id
- 接近WinHEC 2008
- cmd ibm服务器型号,ibm gpfs
- python接口服务两种方式(被调用、主动推送)
- 网络安全讲座之四账号安全和文件系统安全
- bootstrap学习(四)表格
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState...
- DjangoAPP子路由
- 记录一个解决了一个下午加一个晚上的问题,关于springMVC上传文件的功能
- C/C++基本数据类型所占字节数
- JS判断Iframe是否加载完成
- 95-140-120-源码-transform-算子iterate
- C++初始化参数列表对成员函数初始化
- 《疯狂的程序员》有感
- IT项目管理之第6章 项目成本管理习题之案例分析汇总
- 早上在玩支付宝的答答星球,认真点就有点赌徒心理了
- 密码学技术如何选型?终探量子计算通信的安全模型|第6论
- 计算机应用专业需要6g显卡吗,4G、6G、8G显卡的显存容量有什么用?来看科普
- 编程的同时还能盯股票基金?VSCode这款神器插件绝了!
- curl http POST请求出现405错误