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
23 ↩︎