自定义日志域Custom Logging Fields
下面的字段描述了ATS支持的自定义日志域
{HTTP header field name}cqh
{HTTP header field name}pqh
{HTTP header field name}psh
{HTTP header field name}ssh

{HTTP header field name}cssh

参见下面的示意图:

这里UA表示user-agent,也就是client,P/C表示Proxy/Cache,如果Cache中就直接返回,如果没有就回源;OS表示original server,也就是源站。

下面是ATS 5.3.0源码中支持的日志字段及其含义
// client -> proxy fields
chi    client_host_ip
chp    client_host_port
chih   client_host_ip_hex
caun   client_auth_user_name
piid   plugin_identity_id
pitag  plugin_identity_tag
cqts   client_req_timestamp_sec
cqth   client_req_timestamp_hex_sec
cqtq   client_req_timestamp_squid
cqtn   client_req_timestamp_netscape
cqtd   client_req_timestamp_date
cqtt   client_req_timestamp_time
cqtx   client_req_text
cqhm   client_req_http_method
cqu    client_req_url
cquuc   client_req_unmapped_url_canonical
cquup  client_req_unmapped_url_path
cquuh  client_req_unmapped_url_host
cqus   client_req_url_scheme
cqup   client_req_url_path
cqhv   client_req_http_version
cqhl   client_req_header_len
cqbl   client_req_body_len
cfsc   client_finish_status_code

// proxy -> client fields
psct    proxy_resp_content_type
psql    proxy_resp_squid_len
pscl    proxy_resp_content_len
psch    proxy_resp_content_len_hex
pshl    proxy_resp_header_len
pssc    proxy_resp_status_code
pfsc    proxy_finish_status_code
crc     cache_result_code
chm     cache_hit_miss

// proxy -> server fields
pqhl    proxy_req_header_len
pqbl    proxy_req_body_len
pqsn    proxy_req_server_name
pqsi    proxy_req_server_ip
phr     proxy_hierarchy_route
phn     proxy_host_name
phi     proxy_host_ip
php     proxy_host_port

// server -> proxy fields
shi     server_host_ip
shn     server_host_name
sssc    server_resp_status_code
sscl    server_resp_content_len
sshl    server_resp_header_len
sshv    server_resp_http_version
stms    server_resp_time
stmsh   server_resp_time_hex
stmsf   server_resp_time_fractional
sts     server_resp_time_sec

// cache -> client
csssc   cached_resp_status_code
csscl   cached_resp_content_len
csshl   cached_resp_header_len
csshv   cached_resp_http_version
crat    client_retry_after_time
cwr     cache_write_result
cwtr    cache_write_transform_result

// other fields
ttms    transfer_time_ms
ttmh    transfer_time_ms_hex
ttmsf   transfer_time_ms_fractional
tts     transfer_time_sec

fsiz    file_size

LogField切片(Slicing)
有时候想切割一个LogField去限制给定LogField的输出长度。
LogField切片有如下规范:
普通类型 %<field[start:end]> 
容器类型 %<{field}container[start:end]>
如果忽略切片符号,就是默认取整个log field
切片符号只能应用于string类型的log field,不能应用于ip/timestamp类型,虽然它们能从整数转换为字符串类型

下面是允许的切片规范
[start:end]  取log field的值,从start到end-1
[start:]   取log field的值,从start到余下的字符串
[:end]   去log field的值,从开头到end-1
[:]   默认取整个log field

下面是一些例子
'%<cqup>'       //the whole characters of <cqup>.
'%<cqup>[:]'    //the whole characters of <cqup>.
'%<cqup[0:30]>' //the first 30 characters of <cqup>.
'%<cqup[-10:]>' //the last 10 characters of <cqup>.
'%<cqup[:-5]>'  //everything except the last 5 characters of <cqup>.

参考文献
[1].http://trafficserver.readthedocs.org/en/latest/admin/event-logging-formats.en.html
[2].proxy/logging/Log.h/cc源码

ATS 5.3.0日志字段分析(续)相关推荐

  1. ATS 5.3.0中自定义日志格式文件logs_xml.config解读

    缘起 近来因为公司项目需要,阅读了一部分ATS logging system的源码实现,越发觉得logs_xml.config文件的配置非常重要,而我目前只是实践了一点它的皮毛.为此,根据自己的理解, ...

  2. iis日志字段解析 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

    网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置) https://www.cnblogs.com/fuqiang88/p/5870306.html 我们只能通过各种系统日志来分析网 ...

  3. Android10.0 日志系统分析(三)-logd、logcat读写日志源码分析-[Android取经之路]

    摘要:本节主要来讲解Android10.0 logd.logcat读写日志源码内容 阅读本文大约需要花费20分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Andro ...

  4. Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的架构分析,以及logd.logcat的初始化操作 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...

  5. ATS 5.3.0中按域名生成日志配置文件log_hosts.config解读

    应用场景 该配置文件用于ATS用作反向代理模式,访问日志被server域名分隔.比如,我想将sohu和ifeng的域名的日志分别记在两个不同的日志文件中,其它的日志统一记在默认的日志文件中. 配置 为 ...

  6. Cloudera Hadoop 4 实战课程(Hadoop 2.0、集群界面化管理、电商在线查询+日志离线分析)...

    课程大纲及内容简介: 每节课约35分钟,共不下40讲 第一章(11讲) ·分布式和传统单机模式 ·Hadoop背景和工作原理 ·Mapreduce工作原理剖析 ·第二代MR--YARN原理剖析 ·Cl ...

  7. Android10.0 日志系统分析(一)-logd、logcat 指令说明、分类和属性-[Android取经之路]

    摘要:本节主要来讲解Android10.0 日志系统的logd.logcat相关指令说明.日志分类和常用日志属性 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Andro ...

  8. 一套标准的ASP.NET Core容器化应用日志收集分析方案

    点击上方蓝字 给一个关注吧 讲故事 关注我公众号的朋友,应该知道我写了一些云原生应用日志收集和分析相关的文章,其中内容大多聚焦某个具体的组件: 超级有用的TraceId,快点用起来吧! 如何利用NLo ...

  9. 怎么查看linux日志里请求量最高的url访问最多的_LoaRunner性能测试系统学习教程:日志文件分析(8)...

    上期我们讲到LoaRunner性能测试MPM相关参数,这期我们讲LoaRunner性能测试日志文件分析. 日志文件分析 为了有效地管理web服务器,以及获取有关服务器活动和性能相关的数据反馈.Apac ...

最新文章

  1. MongoDB 进阶-关联查询
  2. ES6 各浏览器支持情况
  3. fastapi quickstart学习
  4. oracle数据库重建em,oracle 11g em重建报唯一约束错误解决方法
  5. 只有想不到 没有做不到(防疲劳软件)
  6. XMLReader—一个可以读取XML文件的java类
  7. mvc 怎么把后台拼接好的div写到前台_PR:被写黑稿了怎么办?
  8. 个人征信报告,OCR识别,OCR识别技术方案
  9. 错题合集1_JavaSE章节测试
  10. 计算机网页设计与制作论文,网页设计与制作毕业论文
  11. 给大家推荐几个程序员必备网站
  12. 怎么搭建百度网盘目录搜索网站?网盘目录#百度网盘
  13. python去掉最高分和最低分怎么算平均分_去掉最高分和最低分算平均分并进行排名...
  14. PHP微信扫码关注公众号并授权登录源码
  15. 快手光合计划完整版攻略
  16. 运放使用“虚短”和”虚断“的理解
  17. 对use case的一点理解
  18. DON'T PANIC!11月13日,让我们带你漫游区块链技术
  19. c刊计算机领域见刊快的期刊,想集合大家的经历,列出一些见刊较快的期刊,以供参考!...
  20. Ubutnu18.04解决:Starting Wait until snapd is fully seeded...

热门文章

  1. Activiti——工作流程-核心API(二)
  2. 2.抽取代码(BaseActivity)
  3. Oracle 12C -- 基于sequence的列的默认值
  4. codeviz安装使用全记录
  5. POJ1088(滑雪)
  6. OpenCV+python:霍夫变换与直线检测
  7. usaco A game
  8. usaco前两章小结
  9. java jlist 更新_java – 更新JList
  10. java运行时_java编译时与运行时概念与实例详解