2016-09-06 31 views
1

如果請求來自我的本地網絡(例如192.168.x.x),如何將訪問日誌重定向到替代文件? 我發現some hints我如何根據請求者IP禁用日誌,但在我的情況下,我想將這些請求記錄到另一個文件中,以便爲了開發目的,我只能在特定文件中看到我自己的日誌。本地請求的nginx替代日誌文件

回答

0

答案出現在您引用的頁面中,您只需要將1 s和0 s取消即可。

這應該工作:

map $remote_addr $private_ip { 
    ~^192\.168\. 1; 
    default  0; 
} 
map $remote_addr $public_local { 
    ~^192\.168\. 0; 
    default  1; 
} 

server { 
    ... 
    # access-private.log for requests from local network 
    access_log /path/to/access-private.log main if=$private_ip; 

    # access.log for all other requests 
    access_log /path/to/access.log main if=$public_ip; 
    ... 
} 

詳見thisthis

編輯:其實geo指令更適合映射$remote_addr

geo $private_ip { 
    192.168.0.0/16 1; 
    default   0; 
} 
geo $public_local { 
    192.168.0.0/16 0; 
    default   1; 
} 

詳見this document

+0

太明顯了,0/1需要顛倒,問題是關於將本地網絡的請求的日誌指向另一個文件。我用適當的解決方案修改了答案 – Pavel