Spring Cloud 升级之路 - 2020.0.x - 3. Undertow 的 accesslog 配置 (2)

路径参数 PathVariable 由于并没有被 Undertow 的 Listener 或者 Handler 解析处理,所以拦截不到,无法确认是否是一个 PathVariable 还是就是 url 路径。所以,PathVariable 的占位符是不会起作用的

请求地址相关 描述 缩写占位符 全名占位符 参数占位符 源码
host 和 port,一般就是 HTTP 请求 Header 中的 Host 值,如果 Host 为空则获取本地地址和端口,如果没获取到端口则根据协议用默认端口(http:80,,https:443)     %{HOST_AND_PORT}     HostAndPortAttribute  
请求本地地址 IP   %A   %{LOCAL_IP}     LocalIPAttribute  
请求本地端口 Port   %p   %{LOCAL_PORT}     LocalPortAttribute  
请求本地主机名,一般就是 HTTP 请求 Header 中的 Host 值,如果 Host 为空则获取本地地址   %v   %{LOCAL_SERVER_NAME}     LocalServerNameAttribute  
请求远程主机名,通过连接获取远端的主机地址   %h   %{REMOTE_HOST}     RemoteHostAttribute  
请求远程 IP,通过连接获取远端的 IP   %a   %{REMOTE_IP}     RemoteIPAttribute  

注意:

请求的远程地址我们一般不从请求连接获取,而是通过 Http Header 里面的 X-forwarded-for 或者 X-real-ip 等获取,因为现在请求都是通过各种 VPN,负载均衡器发上来的。

响应相关属性 描述 缩写占位符 全名占位符 参数占位符 源码
发送的字节数大小,除了 Http Header 以外   %b (如果为空就是 -) 或者 %B (如果为空就是 0)   %{BYTES_SENT} (如果为空就是 0)     BytesSentAttribute  
accesslog 时间,这个不是收到请求的时间,而是响应的时间   %t   %{DATE_TIME}   %{time, 你自定义的 java 中 SimpleDateFormat 的格式}   DateTimeAttribute  
HTTP 响应状态码   %s   %{RESPONSE_CODE}     ResponseCodeAttribute  
HTTP 响应原因     %{RESPONSE_REASON_PHRASE}     ResponseReasonPhraseAttribute  
响应 Header 的某一个值       %{o,你要看的header值}   ResponseHeaderAttribute  
响应 Cookie 的某一个值       %{resp-cookie,你要看的cookie值}   ResponseCookieAttribute  
响应时间,默认 undertow 没有开启请求时间内统计,需要打开才能统计响应时间   %D(毫秒,例如 56 代表 56ms) %T(秒,例如 5.067 代表 5.067 秒)   %{RESPONSE_TIME}(等价于 %D) %{RESPONSE_TIME_MICROS} (微秒) %{RESPONSE_TIME_NANOS}(纳秒)     ResponseTimeAttribute  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfwwz.html