设为首页 收藏本站
查看: 591|回复: 0

[经验分享] nginx日志格式修改

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-5 15:41:06 | 显示全部楼层 |阅读模式
nginx有两个日志格式,分别是$time_local和$time_iso8601,均未能满足"1970-09-28 12:00:00"的格式,通过修改源码重新编译满足需求:


1、vi /root/pkg/nginx-1.10.2/src/http/modules/ngx_http_log_module.c
1
2
3
4
5
6
static ngx_http_log_var_t  ngx_http_log_vars[] = {
    ...
    { ngx_string("time_iso8601"), sizeof("1970-09-28T12:00:00+06:00") - 1,
                          ngx_http_log_iso8601 },
    ...
};



改为:

1
2
3
4
5
6
static ngx_http_log_var_t  ngx_http_log_vars[] = {
    ...
    { ngx_string("time_iso8601"), sizeof("1970-09-28 12:00:00") - 1,
                          ngx_http_log_iso8601 },
    ...
};




2、vi /root/pkg/nginx-1.10.2/src/core/
1
2
static u_char            cached_http_log_iso8601[NGX_TIME_SLOTS]
                                    [sizeof("1970-09-28T12:00:00+06:00")];



改为:
1
2
static u_char            cached_http_log_iso8601[NGX_TIME_SLOTS]
                                    [sizeof("1970-09-28 12:00:00")];




1
ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - 1;



改为:
1
ngx_cached_http_log_iso8601.len = sizeof("1970-09-28 12:00:00") - 1;





1
2
3
4
5
6
7
p3 = &cached_http_log_iso8601[slot][0];
    (void) ngx_sprintf(p3, "%4d-%02d-%02dT%02d:%02d:%02d%c%02i:%02i",
                       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));



改为:
1
2
3
4
5
6
7
    p3 = &cached_http_log_iso8601[slot][0];
    (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,
                       tp->gmtoff < 0 ? '-' : '+',
                       ngx_abs(tp->gmtoff / 60), ngx_abs(tp->gmtoff % 60));




3、修改完后重新编译
1
./configure --user=nginx --group=nginx --prefix=/home/nginx/nginx --with-http_ssl_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module



这里只需要make,不用make install
1
2
3
4
5
6
7
8
mv /home/nginx/nginx/sbin/nginx /home/nginx/nginx/sbin/nginx.bak
cp objs/nginx /home/nginx/nginx/sbin/nginx
chown -R nginx: /home/nginx/nginx/sbin/
[nginx@web-nginx1 sbin]$ cd /home/nginx/nginx/sbin/ && ./nginx -t
nginx: the configuration file /home/nginx/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/nginx/nginx/conf/nginx.conf test is successful
kill -USR2 `cat nginx.pid`
kill -WINCH `cat nginx.pid.oldbin`



1
timestamp=2017-01-04T04:04:35+08:00`remote_addr=192.168.56.1`remote_user=-`request=GET /favicon.ico HTTP/1.1`request_method=GET`status=404`upstream_addr=-`upstream_response_time=-`request_time=0.000`body_bytes_sent=571`http_referrer=http://192.168.56.102:8080/`http_user_agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36`http_x_forwarded_for=-



1
timestamp=2017-01-04 04:05:15`remote_addr=192.168.56.1`remote_user=-`request=GET / HTTP/1.1`request_method=GET`status=403`upstream_addr=-`upstream_response_time=-`request_time=0.000`body_bytes_sent=571`http_referrer=-`http_user_agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36`http_x_forwarded_for=-






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324321-1-1.html 上篇帖子: 使用nginx+tomcat负载均衡 下篇帖子: nginx+php-fpm动静分离
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表