nginx访问日志中的时间格式修改

1.说明

默认的时间格式是:[08/Mar/2013:09:30:58 +0800],由$time_local变量表示。

我想要改成如下格式:2013-03-08 12:21:03。

2.需要修改的文件

src/core/nginx_times.c

src/http/modules/ngx_http_log_module.c

首先修改ngx_http_log_module.c文件:

{ ngx_string("time_iso8601"), sizeof("1970-09-28T12:00:00+06:00") - 1,
更改后
{ ngx_string("time_iso8601"), sizeof("1970-09-28 12:00:00") - 1, 

然后修改nginx_times.c文件:

[sizeof("1970-09-28T12:00:00+06:00")];
更改后
[sizeof("1970-09-28 12:00:00")]; 
ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - 1;
更改为
ngx_cached_http_log_iso8601.len = sizeof("1970-09-28 12:00:00") - 1;
(void) ngx_sprintf(p3, "%4d-%02d-%02dT%02d:%02d:%02d%c%02d:%02d",
                    tm.ngx_tm_year, tm.ngx_tm_mon,
                    tm.ngx_tm_mday, tm.ngx_tm_hour,
                    tm.ngx_tm_min, tm.ngx_tm_sec,
                    tp->gmtoff < 0 ? ‘-‘ : ‘+‘,
                    ngx_abs(tp->gmtoff / 60), ngx_abs(tp->gmtoff % 60));
更改为
(void) ngx_sprintf(p3, "%4d-%02d-%02d %02d:%02d:%02d",
                    tm.ngx_tm_year, tm.ngx_tm_mon,
                    tm.ngx_tm_mday, tm.ngx_tm_hour,
                    tm.ngx_tm_min, tm.ngx_tm_sec); 

3.重新编译,并使用新的时间变量

配置文件中的$time_local改为$time_iso8601即可。

时间: 2024-10-10 06:21:59

nginx访问日志中的时间格式修改的相关文章

处理nginx访问日志,筛选时间大于1秒的请求

#!/usr/bin/env python ''' 处理访问日志,筛选时间大于1秒的请求 ''' with open('test.log','a+',encoding='utf-8') as f_a: with open('wkxz-api.access.log') as f: for line in f.readlines(): if line[-2:] == "-\n" : num =float(line[-7:-2]) else: num=float(line[-6:]) if

采集并分析Nginx访问日志

日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析时,需要对Nginx访问日志统计分析,从中获取网站的访问量.访问时段等访问情况.传统模式下利用CNZZ等方式,在前端页面插入js,用户访问的时候触发js,但仅能记录访问请求.或者利用流计算.离线统计分析Nginx访问日志,但需要搭建一套环境,并且在实时性以及分析灵活性上难以平衡. 日志服务在支持查询

修改nginx访问日志的中日志和时间期的格式

概述: 软件:nginx mongodb nginx日期时间格式[$time_local] 对应的日期时间格式为 [19/Jul/2014:18:50:51 +0800] 现在有一种需求,就是将nginx中访问日志的记录信息插入到mongodb数据库中,然后对某些视频做视频统计,然后做排行 当初在做的时候,首先想到的方法就是一种比较简单的方法,也没有考虑的太多,就直接使用mongodb自带的导入document的方式,这种方法显然十分简单,但是在后期却出现了一连串的问题,尤其是数据类型.因为[1

Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间介绍

Nginx访问日志 1. 进入配置文件 [[email protected] src]# vim /usr/local/nginx/conf/nginx.conf  //搜索log_format 参考更改配置成如下: log_format aming '$remote_addr $http_x_forwarded_for [$time_local]' 如图: 日志格式字段含义如下: combined_realip为日志格式的名字,后面可以调用它. 2.到虚拟主机配置文件中指定访问日志的路径 [[

2018-3-14 12周3次课 Nginx访问日志、日志分割、日志不记录静态文件和过期时间

12.10 Nginx访问日志 ·日志格式: [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf 搜索log_format (虽然红框中有三行,但实际上时一行配置,以分号为结尾) combined_realip 定义日志格式名字,此处定义成什么,那么后面引用时就要写成什么 公网ip(出口ip) ·除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 access_log /tmp/1.log co

48.Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间

一.Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format combined_realip //规则名字 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 vim /usr/local/nginx/conf/vhost/test.com.conf 添加 access_log /tmp/1.log combined_realip; 这里的combined_realip就是在nginx.

十二周三课 Nginx访问日志、 Nginx日志切割、 静态文件不记录日志和过期时间

Nginx访问日志 Nginx的文件格式存在于主配置文件中./usr/local/nginx/conf/nginx.conf然后搜索log_format找到他的配置文件这样我们就可以进行日志的格式配置了. 我们常用如下配置.$remote_addr客户端IP(公网IP)$http_x_forwarded_for代理服务器的IP$time_local服务器本地时间$host访问主机名(域名)$request_uri访问的url地址$status状态码$http_refererreferer$htt

四十八、Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间

一.Nginx访问日志 日志格式 # pwd /usr/local/nginx/conf [[email protected] conf]# vim nginx.conf log_format ELA '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"'; 解析

Nginx访问日志 Nginx日志切割 静态文件不记录日志和过期时间

一.Nginx访问日志#vim /usr/local/nginx/conf/nginx.conf日志格式的名字combined_realip可以自定义,例如将它修改为aming,注意,这里定义为什么,后面引用的时候就定义为什么(nginx配置文件看见分号才是这一行结束)#vim /usr/local/nginx/conf/vhost/test.com.conf //增加如下一行#/usr/local/nginx/sbin/nginx -t#/usr/local/nginx/sbin/nginx