总NGINX初学者在这里.
我的日志目前看起来像:
92.21.236.47 - - [08/Jan/2017:00:48:10 +0000]"GET/HTTP/1.1"200 148" - ""Mozilla/5.0(Windows NT 10.0; WOW64; rv:50.0)Gecko/20100101火狐/ 50.0"
当我在默认的/etc/nginx/nginx.conf中添加以下行时
log_format main '$remote_addr - $remote_user xxx[$time_local]xxx '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
Run Code Online (Sandbox Code Playgroud)
(access_log和error_log行已存在于默认配置中,我将这些仅用于上下文).
然后我重启NGINX:
systemctl restart nginx
Run Code Online (Sandbox Code Playgroud)
我现在希望我的日志能够改变,特别是显示使用的xxx文字值.. xxx [$ time_local] xxx ..但我的改变没有任何区别.
如果我将log_format main更改为log_format组合,则服务器将不会重新启动.
dan*_*y74 18
改变..
access_log /var/log/nginx/access.log;
Run Code Online (Sandbox Code Playgroud)
至 ..
access_log /var/log/nginx/access.log main;
Run Code Online (Sandbox Code Playgroud)
固定它.
其中main是log_format的名称,如...所定义.
log_format main '$remote_addr - $remote_user xxx[$time_local]xxx '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
Run Code Online (Sandbox Code Playgroud)
yub*_*del 13
回复晚了,但对于那些仍然在这个问题中徘徊的人来说可能有用。
编写log_format外部指令server {}
整个代码是这样的
log_format main '$remote_addr - $remote_user xxx[$time_local]xxx '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
server {
listen 80;
access_log /var/log/nginx/<your_domain>_access.log main;
}
Run Code Online (Sandbox Code Playgroud)
这里的 main 表示 nginx 在写入日志时应该包含哪些字段。
有关更多详细信息,请查看官方文档 Sampling Requests with NGINX Conditional Logging
| 归档时间: |
|
| 查看次数: |
4514 次 |
| 最近记录: |