De fato, configurar a variável no body_filter e, em seguida, passá-la para o arquivo de log não funciona. Eu verifiquei esta configuração e funcionou mas, infelizmente, o nginx registra os dados em error.log:
error_log logs/error.log info;
location / {
set $myresponse; #we must declare it first, we cannot create vars in lua
proxy_pass http://mybackendserver;
body_filter_by_lua 'ngx.var.myresponse = ngx.arg[1]
ngx.log(ngx.INFO,ngx.var.myresponse)
';
}
}
ps. Gostaria de saber também como logar para acessar os logs do módulo lua.