一、修改原因
因為要獲取nginx訪問信息,作為開發(fā)的數(shù)據(jù)使用,但是nginx的access.log文件中的默認的時間格式是這樣的:
[02/Nov/2017:20:48:25 +0800]
而要求的格式類似如下:
[2017-11-02 20:52:06]
二、修改方法
方法都幾種,但是修改源碼的方法看上去麻煩,做起來也簡單,我這邊修改了源碼(把原來的刪了,復制新的),重新編譯
1.修改src/http/modules/ngx_http_log_module.c
- { ngx_string("time_local"), sizeof("28/Sep/1970:12:00:00 +0600") - 1,
- ngx_http_log_time },
- 修改后:
- { ngx_string("time_local"), sizeof("1970-09-28 12:00:00 +0600") - 1,
- ngx_http_log_time },
- return ngx_cpymem(buf, ngx_cached_http_log_time.data,
- ngx_cached_http_log_time.len);
- 修改后:
- return ngx_cpymem(buf, ngx_cached_err_log_time.data,
- ngx_cached_err_log_time.len);
2、修改 src/core/ngx_times.c 140行
- (void) ngx_sprintf(p1, "%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);
- 修改后
- (void) ngx_sprintf(p1, "%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.備份一下配置文件(小心一些好)
4.重新編譯,參數(shù)還是用原來的吧
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
5. make && make install 之后重啟nginx就行了
版權聲明:文章圖片資源來源于網(wǎng)絡,如有侵權,請留言刪除!!!
評論