第 14 章 配置 Data Grid 服务器日志记录

数据网格服务器使用 Apache Log4j 2 提供可配置的日志记录机制,用于捕获环境详情并记录缓存操作以进行故障排除和根本原因分析。

14.1. Data Grid Server 日志文件

数据网格将服务器日志写入 $RHDG_HOME/server/log 目录中的以下文件:

server.log
人类可读的格式的消息,包括与服务器启动相关的引导日志。
Data Grid 在您启动服务器时会创建此文件。
server.log.json
JSON 格式的消息,可让您解析和分析数据网格日志。
当启用 JSON-FILE 附加器时,Data Grid 会创建此文件。

14.1.1. 配置 Data Grid 服务器日志

数据网格使用 Apache Log4j 技术编写服务器日志消息。您可以在 log4j2.xml 文件中配置服务器日志。

流程

  1. 使用任何文本编辑器打开 $RHDG_HOME/server/conf/log4j2.xml
  2. 根据需要更改服务器日志记录。
  3. 保存并关闭 log4j2.xml

其他资源

14.1.2. 日志级别

日志级别表示消息的性质和严重性。

日志级别描述

TRACE

精细调试消息,通过应用程序捕获单个请求流。

DEBUG

用于常规调试的消息,与单个请求无关。

INFO

有关应用程序总体进度的消息,包括生命周期事件。

WARN

导致错误或降级性能的事件。

ERROR

防止操作或活动无法成功但不会阻止应用程序运行的错误条件。

FATAL

可能导致关键服务故障和应用程序关闭的事件。

除了上述各个消息级别外,该配置还允许两个值更多: ALL 可以包括所有消息,使用 OFF 来排除所有消息。

14.1.3. 数据网格日志记录类别

数据网格为 INFOWARNERRORFATAL 级消息提供按功能区域组织日志的类别。

org.infinispan.CLUSTER
特定于数据网格集群的消息,包括状态转移操作、重新平衡事件、分区等等。
org.infinispan.CONFIG
特定于数据网格配置的消息。
org.infinispan.CONTAINER
特定于数据容器的消息,包括过期和驱除操作、缓存侦听器通知、事务等。
org.infinispan.PERSISTENCE
特定于缓存加载器和存储的消息。
org.infinispan.SECURITY
特定于数据网格安全性的消息.
org.infinispan.SERVER
特定于数据网格服务器的消息.
org.infinispan.XSITE
特定于跨站点复制操作的消息。

14.1.4. 日志附加器

Log appenders 定义 Data Grid Server 如何记录日志消息。

控制台
将日志消息写入主机标准输出(stdout)或标准错误(stderr)流。
默认使用 org.apache.logging.log4j.core.appender.ConsoleAppender 类。
FILE
将日志消息写入文件。
默认使用 org.apache.logging.log4j.core.appender.RollingFileAppender 类。
JSON-FILE
以 JSON 格式将日志消息写入文件。
默认使用 org.apache.logging.log4j.core.appender.RollingFileAppender 类。

14.1.5. 日志模式格式

CONSOLEFILE appenders 使用 PatternLayout 来根据 模式 格式化日志消息。

例如,FILE appender 中的默认模式:
%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p (%t)[%c Array] %m%throwable%n

  • %d{yyyy-MM-dd HH:mm:ss,SSS} 增加了当前的时间和日期。
  • %-5p 指定日志级别,与右侧一致。
  • % T 添加当前线程的名称。
  • %c{1} 添加日志记录类别的短名称。
  • % M 添加日志消息。
  • %rowable 添加异常堆栈跟踪。
  • %n 添加新行。

PatternLayout 文档 中已完全描述模式。

14.1.6. 启用 JSON 日志处理程序

Data Grid Server 提供了一个日志处理程序,用于以 JSON 格式编写消息。

先决条件

  • 如果数据网格服务器正在运行,停止该服务器。
    您无法动态启用日志处理程序。

流程

  1. 使用任何文本编辑器打开 $RHDG_HOME/server/conf/log4j2.xml
  2. 取消注释 JSON-FILE 附加程序,并注释掉 FILE appender:

    <!--<AppenderRef ref="FILE"/>-->
    <AppenderRef ref="JSON-FILE"/>
  3. (可选)根据需要配置 JSON 附加程序和 JSON 布局。
  4. 保存并关闭 log4j2.xml

当您启动 Data Grid 时,它会在以下文件中将每个日志消息写为 JSON 映射:
$RHDG_HOME/server/log/server.log.json