nginx access log 过滤输出

Nginx处理请求后把关于客户端请求的信息写到访问日志。默认,访问日志位于 logs/access.log,写到日志的信息是预定义的、组合的格式。要覆盖默认的配置,使用log_format指令来配置一个记录信息的格式,同样使用access_log 指令到设置日志和格式和位置。格式定义使用变量。

1、自定义一个日志格式

log_format  mylogformat ‘“ r e m o t e a d d r " " [ remote_addr" "[ remoteaddr""[time_local]” “ r e q u e s t m e t h o d " ′                       ′ " request_method" '                       '" requestmethod"           "uri” “ r e q u e s t u r i " " request_uri" " requesturi""request_time” “ s t a t u s " " status" " status""body_bytes_sent”’
                       ‘“ h t t p r e f e r e r " " http_referer" " httpreferer""http_x_forwarded_for” “ h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""upstream_status”’
                      ‘“ u p s t r e a m a d d r " " upstream_addr" " upstreamaddr""upstream_response_time”’;

2、然后配置新的生成日志文件名:

access_log  logs/access1.log  mylogformat if=$loggable;

3、过滤掉需要过滤的日志,此处是过滤掉以2或者3开头的响应码

map $status $loggable {
                ~1  0;
                     default 1;
  }
————————————————
版权声明:本文为CSDN博主「张云生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhangyunsheng11/article/details/83349458


  1. 23 ↩︎

你可能感兴趣的:(Nginx)