nginx 使用自定义 log_format 以及输出自定义http头
- 官方文档地址
- 一、log_format默认格式
- 二、自定义多个log_format
- 三、给web网站分配log_format
- 四、access_log里打印自定义的消息header头
官方文档地址
http://nginx.org/en/docs/http/ngx_http_log_module.html
一、log_format默认格式
首先Nginx默认的log_format的格式为:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
二、自定义多个log_format
上面的
main
标识给log_format
取的别名,比如我可以首先定义多个log_format
,例如下面的nginx.conf
,我就定义了两个log_format
,一个别名叫yuedu
,一个别名叫default
http{include mime.types;#include luawaf.conf;include proxy.conf;log_format yuedu '$http_yd_uid $http_yd_token $remote_addr [$time_local] $request_method $http_host $request_uri $status $body_bytes_sent $upstream_response_time "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';log_format default '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';default_type application/octet-stream;......include /www/server/panel/vhost/nginx/*.conf;
}
三、给web网站分配log_format
在
nginx
里面新建web
站点的时候,可以配置该站点使用的log_format
格式,如果不指定log_format
,则使用的默认的log_format
,如下面这个站点使用是别名为yuedu
的log_format
access_log /www/wwwlogs/xxx.log yuedu;
server
{listen 80;server_name www.xxx.com;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/xxx;......access_log /www/wwwlogs/xxx.log yuedu;error_log /www/wwwlogs/xxx.error.log;
}
- 现在我们知道了
#access_log var/log/nginx.access.log main;
中的main
就是默认log_format main
配置中的main
log_format
默认配置在http
中。如果配置在其他变量(如server
)中,则报错==“log_format” directive is not allowed here in var/conf/nginx.conf:76==
四、access_log里打印自定义的消息header头
- 比如现在客户端在
http
请求里,加入一个新的自定义的header
Yd-Token : 123465
- 那么在
log_format
里要打印输出这个header
,则只需要取变量$http_yd_token
,则可以打印这个header
了
log_format yuedu '$http_yd_token ...'
- 类似的如果要在
log_format
里打印Xxx-Yyy
这样的消息头,只需要使用$http_xxx_yyy
即可
nginx 使用自定义 log_format 以及输出自定义http头相关推荐
- 自定义 ocelot 中间件输出自定义错误信息
自定义 ocelot 中间件输出自定义错误信息 Intro ocelot 中默认的 Response 中间件在出错的时候只会设置 StatusCode 没有具体的信息,想要展示自己定义的错误信息的时候 ...
- GoAccess自定义log_format日志格式详解及使用
承接上一篇GoAccess安装之后,本文章内容主要为了自定义log_format的解析使用说明 文章主要分为两部分: 一.官方自定义格式说明 二.本次自定义格式解析nginx日志实验 网上大部分说的都 ...
- 最稳定的Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本
应学生要求,我最近更新了PHPWAMP,新版PHPWAMP添加了强大的Nginx站点管理 核心经过重新编译.完美解决不同版本和不同组件间的兼容,自动智能匹配系统所需的组件. 纯绿色解压即可使用,默认集 ...
- C# 在自定义的控制台输出重定向类中整合调用方信息
C# 在自定义的控制台输出重定向类中整合调用方信息 目录 C# 在自定义的控制台输出重定向类中整合调用方信息 一.前言 二.输出重定向基础版 三.输出重定向进阶版(传递调用方信息) 四.后记及资源 独 ...
- php打印函数console,PHP内置Web Server探究(2)自定义PHP控制台输出console函数
PHP内置Web Server探究(二)自定义PHP控制台输出console函数 我们在开发APP的服务器端,当和APP进行联调时通常需要实时跟踪URL请求和参数的接收情况. 但PHP并没有像Pyth ...
- KCL v0.4.4 发布 - 自定义 YAML Manifests 输出以及 Python SDK
KCL 团队很高兴地宣布 0.4.4 版本现在已经可用!本次发布主要为 KCL 语言增加了自定义 YAML Manifests 输出的能力,用户可以通过编写代码并调用系统函数来自定义 YAML 输出的 ...
- springboot项目控制台输出自定义图案
如何在springboot项目控制台输出自定义图案呢? 本人的项目输出的是我名字的全拼,所以这里只介绍如何在控制台输出全拼名字. 1.http://patorjk.com/software/taag/ ...
- Spring 集成Velocity,代替JSP输出自定义页面
Spring 集成Velocity,代替JSP输出自定义页面 摘要:介绍如何配置Spring和velocity的集成,并有完整的例子,要求读者掌握spring和Velocity的一般用法,并了解jav ...
- Geant 4创建TCP客户端,自定义宏命令,输出探测器能量
我在Geant 4软件中主要完成三大功能需求:构建自己所需要的探测器模型:建立TCP客户端:自定义宏命令来输出指定探测器能量沉积. Geant 4中的蒙特卡罗方法是指一个粒子发射出去之后,会和周围的环 ...
- java自定义jsp标签_Javaweb自定义jsp标签
自定义标签 用户定义的一种自定义的jsp标记,当一个含有自定义标签的jsp页面被jsp引擎编译成Servlet时,tag标签被转化成了对一个称为标签处理类的对象的操作.于是当jsp页面被jsp引擎转化 ...
最新文章
- MySQL安装ODBC驱动出现126错误
- 彻底理解Java的feature模式
- 伪代码的写法(转载)
- AJAX(三)jQuery AJAX.post
- MAT之NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比
- MFC,QT与WinForm,WPF简介
- 竞赛|数据竞赛Top解决方案开源整理-科大讯飞AI营销算法、阿里妈妈搜索广告、腾讯广告算法、搜狗的用户画像
- Handler原理分析
- 老也有错?科技行业对大龄程序员的歧视
- html手机页面怎么长按不出复制,HTML -----对于手机页面长按会粘贴复制的禁用
- GBTD(Gradient Boosting Decision Tree)学习
- 五大主流浏览器内核以及国内常见的几种浏览器内核总结
- JavaScript页面跳转并传参的常用方法
- linux postgresql 创建数据库,第 23 课 PostgreSQL 创建自己的数据库、模式、用户
- 面试:视频播放器相关优化参考
- python安装TA_Lib遇到问题
- 你见过出身最奇特的程序员是什么样的?
- Python将excel或者csv表格中的空行删除
- Source Insight 代码自动排版
- 音视频---速搭建语音聊天室技术分析
热门文章
- sun服务器如何查cpu信息,solaris 如何查看CPU信息
- numpy广播机制小结
- 二叉树递归非递归遍历,层次遍历,反转,输出路径等常见操作详细总结
- mysql返回李连杰的姓_李连杰:我爷爷不姓李,说出名字后害怕你们没胆量播出去...
- C#语法基础(三)----窗体设计
- 华为鸿蒙系统和奔驰公司,华为已行动,又是一个千亿BG,奔驰已经加入
- window.location.href不打开新窗口_在使用网站时,什么情况该用新窗口打开?
- android 发布版本证书,Android Studio 获取发布版和测试版证书SHA1的两种方式
- linux mint 8812ac网卡,kali虚拟机连接无线网卡comfast cf-812AC(Realtek 8812BU芯片)(不支持wlan0mon)...
- 防止孩子使用计算机的软件,如何防止熊孩纸在电脑里乱装软件