文档章节

nginx 修改 time_local 时间格式

GavinTop
 GavinTop
发布于 2014/11/12 10:37
字数 355
阅读 145
收藏 0
点赞 0
评论 0

因为系统统计需要,需要将默认的time_local格式 23/Aug/2010:17:26:44 +0800 修改为datetime格式,参考网上的方法,发现也有不正确。自己稍作修改:

保险起见,使用time_iso8601变量

  1. cd到源码目录:

    vi src/http/modules/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,

        

 2.    vi src/core/ngx_times.c

        找到:

        static u_char  cached_http_log_iso8601[NGX_TIME_SLOTS]  

                                [sizeof("1970-09-28T12:00:00+06:00")];

        修改为:

        static u_char  cached_http_log_iso8601[NGX_TIME_SLOTS]  

                                [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; 

        找到:

        p3 = &cached_http_log_iso8601[slot][0];  

        (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.     重新编译:

        ./configure --prefix=/usr/local/nginx  --user=web --group=web --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/opt/sourcecode/pcre-8.32 --add-module=./nginx-http-concat

        make

        不要make install

        然后停止nginx,将新编译好的nginx复制到原目录下即可

         cp /objs/nginx /usr/local/nginx/sbin/

4.    修改conf文件

        将

        log_format  main  '$remote_addr - $remote_user $time_local "$request" '  

                  '$status $body_bytes_sent "$http_referer" '  

                  '"$http_user_agent" "$http_x_forwarded_for"';  

        修改为:

        log_format  main  '$remote_addr - $remote_user $time_iso8601 "$request" '  

                  '$status $body_bytes_sent "$http_referer" '  

                  '"$http_user_agent" "$http_x_forwarded_for"';  


        /usr/local/nginx/sbin/nginx -t

        没有问题的话就可以启动了

看下log:192.168.0.143 - - [2014-11-12 10:36:26] "GET...

OK!


© 著作权归作者所有

共有 人打赏支持
GavinTop
粉丝 18
博文 63
码字总数 48967
作品 0
朝阳
高级程序员
使用goaccess解析nginx日志

由于我指定了安装路径为/usr/local/goaccess 因此运行主程序在该路径的bin目录下,配置文件在etc下 使用方法: 直接解析 在nginx日志目录下运行 /usr/local/goaccess/bin/goaccess -f access...

erichd ⋅ 2016/08/12 ⋅ 0

【CentOS 7LNMP架构24】,nginx访问日志#180105

hellopasswd --- nginx访问日志 日志格式 vi /usr/local/nginx/conf/nginx.conf 除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加 accesslog /tmp/1.log combi...

hellopasswd ⋅ 01/05 ⋅ 0

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

Nginx访问日志日志格式我们可以在主配置文件看到 $remote_addr 客户端ip(公网ip)$httpxforwarded_for 代理服务器ip$time_local 服务器本地时间$host 访问主机名(域名)$request_uri 访问的...

zenw ⋅ 01/04 ⋅ 0

Nginx日志

1 设置错误日志 Nginx记录遇到不同级别的问题信息到错误日志。Error_log指令设置日志记录到特定文件,stderr,或syslog并记录最小消息级别到日志。默认,错误日志位于logs/error.log(绝对路...

Leech ⋅ 2016/08/09 ⋅ 0

nginx日志可用变量梳理

nginx日志可用变量梳理 近期需要统计一下公司相关域名下的某些文件的下载速度,初步计划打算联系专业页面监测厂家,购买页面监测服务,对相关页面下载速度进行监控,这个需要花费成本,部署周...

博弈帅哥哥 ⋅ 2016/08/29 ⋅ 0

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

Nginx访问日志 日志格式配置 > "combined_realip"为日志格式名称;$remoteaddr $httpxforwardedfor [$time_local]'' $host "$request_uri" $status'' "$http_referer" "$http_user_agent"是日......

豆渣锅 ⋅ 01/04 ⋅ 0

12.10 Nginx访问日志

Nginx访问日志目录概要 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format | $remote_addr | 客户端IP(公网IP) || :------| ------: | :------: || $httpxforwarded_for | 代......

运维小白 ⋅ 01/03 ⋅ 0

转-nginx日志log_format的详细参数

nginx服务器日志相关指令主要有两条,一条是logformat,用来设置日志格式,另外一条是accesslog,用来指定日志文件的存放路径、格式和缓存大小,一般在nginx的配置文件中日记配置(/usr/local...

小久哥阿 ⋅ 2016/10/19 ⋅ 0

91.Nginx配置:访问日志,日志切割,静态文件不记录日志和过期时间

一、访问日志 1、查看Nginx日志格式 [root@sdwaqw ~]# grep -A2 log_format /usr/local/nginx/conf/nginx.conf log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_lo......

闪电王 ⋅ 03/19 ⋅ 0

Nginx服务器log_format设置更详细的日志格式

nginx服务器日志相关指令主要有两条,一条是logformat,用来设置日志格式,另外一条是accesslog,用来指定日志文件的存放路径、格式和缓存大小,一般在nginx的配置文件中日记配置(/usr/local...

SA_小科 ⋅ 05/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部