nginx自定义log_format以及输出自定义http头
官方文档地址:
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里打印自定义的消息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 没有具体的信息,想要展示自己定义的错误信息的时候 ...
- asp.net mvc输出自定义404等错误页面,非302跳转。
朋友问到一个问题,如何输出自定义错误页面,不使用302跳转.当前页面地址不能改变. 还要执行一些代码等,生成一些错误信息,方便用户提交反馈. 500错误,mvc框架已经有现成解决方法: filters ...
- asp.net mvc输出自定义404等错误页面,非302跳转
朋友问到一个问题,如何输出自定义错误页面,不使用302跳转.当前页面地址不能改变. 还要执行一些代码等,生成一些错误信息,方便用户提交反馈. 500错误,mvc框架已经有现成解决方法: filte ...
- log4j2自定义Appender(输出到文件/RPC服务中)
1.背景 虽然log4j很强大,可以将日志输出到文件.DB.ES等.但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上. 本文,将通过两个例子说明自定义APP ...
- mfix输出自定义数据
有时候需要输出一些自定义的网格或者DEM颗粒信息,比如输出颗粒的受力,这里举例颗粒自定义数据的输出.网格自定义输出方法类似. 首先用FileLocatorPro(网上很多绿色版),搜索一下代码里mod ...
- 重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口
原文:重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (26) ...
- 自定义EL函数、自定义JSTL标签
自定义EL函数 1.做一个类(静态) package com.maya.el; public class ELBiaoDaoShi { public static String TiHuan(Stri ...
- 10.自定义EL函数和自定义标签
需要在JSP页面中进行一些常见逻辑操作(如对字符串进行操作),首先考虑是否可以用到sun公司提供的EL函数库(fn.tld)和JSTL 核心标签库 如果sun公司的EL函数库没有或者无法满足,就需要自 ...
- [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)
一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...
随机推荐
- P1359 租用游艇 && P3905 道路重建 ------Floyd算法
P1359 租用游艇 原题链接https://www.luogu.org/problemnew/show/P1359 P3905 道路重建 原题链接https://www.luogu.org/ ...
- C#_实现Hello Word!
1:代码如下: using System;//using关键字可以引用MIcrosoft.NET框架类库中的现有资源. //System命名空间提供了对构建应用程序所需的所有系统功能的访问,包括本例中 ...
- mysqldump 命令
[参考文章]:mysqldump命令详解 mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 1. 参数介绍 默认为 true:表示默认情况下 ...
- 【Mybatis】向MySql数据库插入千万记录 单条插入方式,用时 1h16m30s
本例代码下载:https://files.cnblogs.com/files/xiandedanteng/InsertMillionComparison20191012.rar 相对于批量插入,这种方 ...
- Selenium 2自动化测试实战36(更易读的测试报告)
一.更易读的测试报告 1.知识点:python的注释. 1.一种叫comment,为普通的注释2.另一种叫doc string,用于函数,类和方法的描述.在类或方法的下方,通过三引号("&q ...
- Java泛型(2):泛型接口
泛型不仅可以在类上实现,也可以在接口上实现.JDK中[Iterable<T> <-- Collection<E> <-- List<E>/Queue&l ...
- SpringBoot: 8.整合freemarker(转)
1.创建maven项目,添加pom依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframewor ...
- 什么是vue生命周期和生命周期钩子函数?
原文地址 vue生命周期简介 咱们从上图可以很明显的看出现在vue2.0都包括了哪些生命周期的函数了. 生命周期探究 对于执行顺序和什么时候执行,看上面两个图基本有个了解了.下面我们将结合代码去看看钩 ...
- Mac 安装Mysql 之 Sqlservice 区别
Mysql 一.下载mysql 官网“Community “ 下会看到“MySQL Community Server”下方有一个“download”点击. 在Mac OS上的MySQL的版本 ...
- iptables基本命令到深入
1.关闭firewalld,安装iptables-server并启动服务 systemctl stop firewalld systemctl disable firewalld yun -y ins ...