Nginx修改access.log日志時間格式

admin Linux運維評論7982字數(shù) 1343閱讀模式

一、修改原因

因為要獲取nginx訪問信息,作為開發(fā)的數(shù)據(jù)使用,但是nginxaccess.log文件中的默認的時間格式是這樣的:
[02/Nov/2017:20:48:25 +0800]
而要求的格式類似如下:
[2017-11-02 20:52:06]

二、修改方法

方法都幾種,但是修改源碼的方法看上去麻煩,做起來也簡單,我這邊修改了源碼(把原來的刪了,復制新的),重新編譯
1.修改src/http/modules/ngx_http_log_module.c  

  1. { ngx_string("time_local"), sizeof("28/Sep/1970:12:00:00 +0600") - 1,  
  2.                           ngx_http_log_time },  
  3. 修改后:  
  4. { ngx_string("time_local"), sizeof("1970-09-28 12:00:00 +0600") - 1,  
  5.                           ngx_http_log_time },  
  6.    
  7.    
  8.   return ngx_cpymem(buf, ngx_cached_http_log_time.data,  
  9.                       ngx_cached_http_log_time.len);  
  10. 修改后:  
  11.   return ngx_cpymem(buf, ngx_cached_err_log_time.data,  
  12.                       ngx_cached_err_log_time.len);  

2、修改 src/core/ngx_times.c 140行

  1. (void) ngx_sprintf(p1, "%4d/%02d/%02d %02d:%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.    
  6. 修改后  
  7.     (void) ngx_sprintf(p1, "%4d-%02d-%02d %02d:%02d:%02d",  
  8.                        tm.ngx_tm_year, tm.ngx_tm_mon,  
  9.                        tm.ngx_tm_mday, tm.ngx_tm_hour,  
  10.                        tm.ngx_tm_min, tm.ngx_tm_sec);  

3.備份一下配置文件(小心一些好)
4.重新編譯,參數(shù)還是用原來的吧

  1. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  

5. make && make install 之后重啟nginx就行了

版權聲明:文章圖片資源來源于網(wǎng)絡,如有侵權,請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2020年10月15日 19:29:08
  • 轉(zhuǎn)載請務必保留本文鏈接:http://yudch.cn/6660.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: