tomcat的sever.xml中访问日志参数

访问日志参数(来自https://tomcat.apache.org/tomcat-9.0-doc/config/valve.html#Access_Logging)

pattern属性的由文字文本字符串和以“%”字符为前缀的模式标识符组合而成,以替换为来自当前请求和响应的相应变量值。支持以下模式代码:

  •  a-远程IP地址
  • %A-本地IP地址
  • %b-发送的字节,不包括HTTP标头,如果为零则为'-'
  • %B-发送的字节,不包括HTTP标头
  • %h-远程主机名(如果enableLookups连接器为false,则为IP地址 
  • %H-请求协议
  • %l -identd的远程逻辑用户名(总是返回“-”)
  • %m-请求方法(GET,POST等)
  • %p-接收此请求的本地端口。另请参见%{xxx}p下文。
  • %q-查询字符串(如果存在,则以“?”开头)
  • %r-请求的第一行(方法和请求URI)
  • %s-响应的HTTP状态代码
  • %S-用户会话ID
  • %t-日期和时间,以通用日志格式
  • %u-已通过身份验证的远程用户(如果有),否则为'-'
  • %U-请求的URL路径
  • %v-本地服务器名称
  • %D-以毫秒为单位处理请求所花费的时间。注意:在httpd中,%D是微秒。从Tomcat 10开始,行为将与httpd对齐。
  • %T-处理请求所花费的时间,以秒为单位。注意:此值具有毫秒分辨率,而在httpd中具有第二分辨率。从Tomcat 10开始,行为将与httpd保持一致。
  • %F-提交响应所花费的时间(以毫秒为单位)
  • %I-当前请求线程名称(以后可以与堆栈跟踪进行比较)
  • %X-响应完成时的连接状态:
    • X =在响应完成之前连接已中止。
    • + =发送响应后,连接可以保持活动状态。
    • - =发送响应后,连接将关闭。

还支持编写信息传入或传出的标头,cookie,会话或请求属性以及特殊的时间戳格式。它是根据Apache HTTP Server日志配置语法建模的 它们每个都可以使用不同的xxx多次使用

  • %{xxx}i 用名称写入传入标头的值 xxx
  • %{xxx}o 用名称写输出头的值 xxx
  • %{xxx}c 用名称写Cookie的值 xxx
  • %{xxx}r 用名称写入ServletRequest属性的值 xxx
  • %{xxx}s 用名称写入HttpSession属性的值 xxx
  • %{xxx}p写入本地(服务器)端口(xxx==local)或远程(客户端)端口(xxx=remote
  • %{xxx}t 使用增强的SimpleDateFormat模式格式化的请求末尾写入时间戳 xxx

允许使用SimpleDateFormat支持的所有格式%{xxx}t另外,添加了以下扩展名:

  • sec -自纪元以来的秒数
  • msec -自纪元以来的毫秒数
  • msec_frac -毫秒分数

这些格式不能与同一格式标记中的SimpleDateFormat格式混合。

此外,可以定义是记录请求开始时间还是响应结束时间的时间戳:

  • begin或前缀begin:选择请求开始时间
  • end或前缀end:选择响应完成时间

通过向%{xxx}t模式添加多个令牌,一个人也可以记录两个时间戳。

速记模式pattern="common" 对应于'%h%l%u%t“%r”%s%b'定义的通用日志格式 

速记模式pattern="combined" 将RefererUser-Agent 标题的值附加在该模式中,每个标题都用双引号引起来common

posted @ 2020-03-30 10:48  Fizz99  阅读(299)  评论(0)    收藏  举报