[tomcat] log-AccessLog 请求流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[tomcat] log-AccessLog 请求流程相关的知识,希望对你有一定的参考价值。
示意图
简述
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 请求流程的主要内容,如果未能解决你的问题,请参考以下文章