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文件:

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

然后修改nginx_times.c文件:

  1. [sizeof("1970-09-28T12:00:00+06:00")];
  2. 更改后
  3. [sizeof("1970-09-28 12:00:00")];
  1. ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - ;
  2. 更改为
  3. 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",
  2. tm.ngx_tm_year, tm.ngx_tm_mon,
  3. tm.ngx_tm_mday, tm.ngx_tm_hour,
  4. tm.ngx_tm_min, tm.ngx_tm_sec,
  5. tp->gmtoff < ? '-' : '+',
  6. ngx_abs(tp->gmtoff / ), ngx_abs(tp->gmtoff % ));
  7. 更改为
  8. (void) ngx_sprintf(p3, "%4d-%02d-%02d %02d:%02d:%02d",
  9. tm.ngx_tm_year, tm.ngx_tm_mon,
  10. tm.ngx_tm_mday, tm.ngx_tm_hour,
  11. tm.ngx_tm_min, tm.ngx_tm_sec);

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

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

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

  1. 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页

    使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ...

  2. nginx访问日志中添加接口返回值

    因为nginx作为web服务器时,会代理后端的一些接口,这时访问日志中只能记录访问接口的status码,也就是说,只能获得200.404 这些的值 那么如何获得接口返回的response值呢? 下面开 ...

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

    #!/usr/bin/env python ''' 处理访问日志,筛选时间大于1秒的请求 ''' with open('test.log','a+',encoding='utf-8') as f_a: ...

  4. 查询nginx访问日志中访问次数最多的前10个IP地址

    cat log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | awk '{print $0}' | head -n 10

  5. nginx访问日志分析,筛选时间大于1秒的请求

    处理nginx访问日志,筛选时间大于1秒的请求   #!/usr/bin/env python ''' 处理访问日志,筛选时间大于1秒的请求 ''' with open('test.log','a+' ...

  6. 采集并分析Nginx访问日志

    日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析 ...

  7. Python正则表达式,统计分析nginx访问日志

    目标: 1.正则表达式 2.oop编程,统计nginx访问日志中不同IP地址出现的次数并排序 1.正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- ...

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

    6月8日任务 12.10 Nginx访问日志12.11 Nginx日志切割12.12 静态文件不记录日志和过期时间 12.10 Nginx访问日志 除了在主配置文件nginx.conf里定义日志格式外 ...

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

    一.Nginx访问日志 vim /usr/local/nginx/conf/nginx.conf //搜索log_format  日至格式 改为davery格式 $remote_addr  客户端IP ...

随机推荐

  1. Java迭代器原理

    1迭代器模式 迭代器是一种设计模式,这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 一般实现方式如下:(来自)

  2. ieda常用快捷键

    Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...

  3. Hive设置参数的三种方法

    Hive提供三种可以改变环境变量的方法,分别是:(1).修改${HIVE_HOME}/conf/hive-site.xml配置文件:(2).命令行参数:(3).在已经进入cli时进行参数声明.下面分别 ...

  4. 配置php扩展memcache

    配置php扩展memcache 环境说明: 系统版本    CentOS 6.9 x86_64         软件版本    nginx-1.12.2        php-5.5.38       ...

  5. 2017.4.18 linux中执行某文件提示权限不够

    因为没有对start.sh文件的执行权限,所以提示权限不够. 加一个执行权限: chmod +x start.sh 可以看到,执行权限已经有了.此时再执行,就ok了.  

  6. Node.js静态页面展示例子2

    例程下载:https://files.cnblogs.com/files/xiandedanteng/nodejsStaticHtmlSample.rar 页面效果: Html页面代码(注意用文本编辑 ...

  7. 如何安装Android SDK Emulator

    1 下载并安装JDK,可以到官方网站寻找自己的对应版本下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u1-downlo ...

  8. asp.net core mvc视频A:笔记3-2.表单使用

    页面上呈现表单的两种方式 新建项目,增加Test控制器,增加Index视图 方式一:HTML构建表单 运行 方式二:HTML 运行 数据绑定 处理方法 调用结果 登录后返回值 默认值绑定 方式一: 控 ...

  9. java中不能用小数点(.)来做分隔符

    split()括号里是一个String的参数,所以一定要符合这种:split(".")形式,即点'.'要用双引号""括起来"."在java中 ...

  10. sprint3 【每日scrum】 TD助手站立会议第九天

    站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 整合原来做过的功能,并做相应的改进,整合其他的功能 团队进入最终的功能测试阶段,准备发布Beta版 在测试阶段BUG太多,不知道如何解决 Y ...