14.2. 访问日志

访问日志记录 Hot Rod 及 $RHDG_HOME/server/log 目录中文件的 REST 端点的所有入站客户端请求。

org.infinispan.HOTROD_ACCESS_LOG
将 Hot Rod 访问消息写入 hotrod-access.log 文件中的日志记录类别。
org.infinispan.REST_ACCESS_LOG
将 REST 访问消息写入 rest-access.log 文件的日志记录类别。

14.2.1. 启用访问日志

要记录 Hot Rod 和 REST 端点访问消息,您需要在 log4j2.xml 中启用日志记录类别。

流程

  1. 使用任何文本编辑器打开 $RHDG_HOME/server/conf/log4j2.xml
  2. org.infinispan.HOTROD_ACCESS_LOGorg.infinispan.REST_ACCESS_LOG 日志记录类别的级别更改为 TRACE
  3. 保存并关闭 log4j2.xml
<Logger name="org.infinispan.HOTROD_ACCESS_LOG" additivity="false" level="TRACE">
   <AppenderRef ref="HR-ACCESS-FILE"/>
</Logger>

14.2.2. 访问日志属性

访问日志的默认格式如下:

%X{address} %X{user} [%d{dd/MMM/yyyy:HH:mm:ss Z}] &quot;%X{method} %m
%X{protocol}&quot; %X{status} %X{requestSize} %X{responseSize} %X{duration}%n

以上格式创建了日志条目,如下所示:

127.0.0.1 - [DD/MM/YYYY:HH:MM:SS +0000] "PUT /rest/v2/caches/default/key HTTP/1.1" 404 5 77 10

日志记录属性使用 %X{name} 表示法,并允许您修改访问日志的格式。以下是默认的日志属性:

属性描述

address

X-Forwarded-For 标头或客户端 IP 地址。

user

主体名称(如果使用身份验证)

方法

使用的方法。PUTGET 等。

protocol

使用的协议。HTTP/1.1,HTTP/2,HOTROD/2.9 等等。

status

REST 端点的 HTTP 状态代码。Hot Rod 端点 确定 或异常.

requestSize

请求的大小(以字节为单位)。

responseSize

响应的大小(以字节为单位)。

duration

服务器处理请求所需的毫秒数。

提示

使用前缀为 h: 的标头名称来记录请求中包含的标头,例如 %X{h:User-Agent}