nginx 의 변수들을 로그로 남기고 싶으면 main외의 access_log를 하나 더 세팅하여 거기서 각종 변수의 값을 출력하는 방식을 써도 된다.
log_format vars '$remote_addr - $remote_user [$time_local] "$request" : "$document_root" "$fastcgi_script_name"'; # 각종 변수들을 출력한다. access_log /var/log/nginx/vars.log vars;
location /resources {
access_log off;
}
log_format filter '$remote_addr - $remote_user [$time_local] '
'"$temp" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
# Other Configs
server {
#Server Configs
location / { # location 을 구체적으로 명시하는게 나을 듯 보임.
set $temp $request;
if ($temp ~ (.*)password=[^&]*(.*)) {
set $temp $1password=****$2;
}
access_log /opt/current/log/nginx_access.log filter;
}
}