[tomcat] log-AccessLog 请求流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[tomcat] log-AccessLog 请求流程相关的知识,希望对你有一定的参考价值。

示意图

[tomcat]

[tomcat]

简述

1.  NioEndpoint 接收请求

2.  Processor 的子类AbstractProcessorLight 处理请求

3.  AbstractProcessorLight方法service请求

4.  请求失败触发CoyoteAdapter找到对应的container,

5.  通过ContainerBase找到该container关联的Values,有哪些values实现了AccessLog,将这些values填充到AcesslogAdapter

6.  通过AcesslogAdapter依次触发这些values的访问日志输出。

关键代码入口

1.  处理请求 org.apache.coyote.AbstractProcessorLight#process

2.  coyoteAdapter 承接log任务 org.apache.catalina.connector.CoyoteAdapter#log 找到对应的container触发logAccess

3.  org.apache.catalina.core.ContainerBase#logAccess

4.  containerBase创建AccessLogAdapter和添加value org.apache.catalina.core.ContainerBase#getAccessLog

以上是关于[tomcat] log-AccessLog 请求流程的主要内容,如果未能解决你的问题,请参考以下文章

如何设置tomcat的请求数目

Tomcat:Tomcat处理一个Http请求

TOMCAT8源码分析——处理请求分析(下)

Tomcat系列——Tomcat处理一个HTTP请求的过程

Tomcat请求解析-请求行和请求头

TOMCAT 请求HTTP原理