大家好:
我想通过log_by_lua修改nginx变量,来修改日志记录内容,但是修改不起作用,具体配置如下:
http {
log_format analysis '$lua_uri';
}
server {
set $lua_uri '-';
log_by_lua_file conf/log.lua;
}
以下是log.lua的内容:
if ngx.var.request_uri then
ngx.var.lua_uri = string.gsub(ngx.var.request_uri,'%s','-')
end
测试如下:
curl -i localhost/d.html
HTTP/1.1 200 OK
Server: ngx_openresty/1.2.8.6
Date: Mon, 26 Aug 2013 07:58:31 GMT
Content-Type: text/html
Content-Length: 10
Last-Modified: Mon, 26 Aug 2013 07:58:19 GMT
Connection: keep-alive
Accept-Ranges: bytes
test page
日志记录如下:
-
正确的结果应该是/d.html
后来我用file:write写变量调试,发现ngx.var.request_uri是有值的,而且也替换成功了,就是没有应用到access_log里,这是什么原因呢?
或者有什么更好的方法吗?我就是要修改记录日志的变量的值,对其做些处理!
3Q!