第 15 章 配置 Data Grid 服务器日志记录
Data Grid 服务器使用 Apache Log4j 2 提供可配置的日志记录机制,用于捕获环境和记录缓存操作以进行故障排除和根本原因分析。
15.1. Data Grid 服务器日志文件
Data Grid 将服务器日志写入 $RHDG_HOME/server/log
目录中的以下文件中:
server.log
-
以人类可读的格式消息,包括与服务器启动相关的引导日志。
当您启动服务器时,Data Grid 会创建此文件。 server.log.json
-
用于解析和分析 Data Grid 日志的 JSON 格式的消息。
当您启用JSON-FILE
附加程序时,Data Grid 会创建此文件。
15.1.1. 配置 Data Grid 服务器日志
Data Grid 使用 Apache Log4j 技术编写服务器日志消息。您可以在 log4j2.xml
文件中配置服务器日志。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 - 根据需要更改服务器日志记录。
-
保存并关闭
log4j2.xml
。
其他资源
15.1.2. 日志级别
日志级别表示消息的性质和严重性。
日志级别 | 描述 |
---|---|
| 细粒度调试消息,通过应用程序捕获单个请求的流。 |
| 用于常规调试的消息,与单个请求无关。 |
| 有关应用程序整体进度的消息,包括生命周期事件。 |
| 可能导致错误或降低性能的事件。 |
| 错误条件可能会阻止操作或活动成功,但不会阻止应用程序运行。 |
| 可能导致关键服务失败和应用程序关闭的事件。 |
除了上面提供的单个消息级别外,配置还允许两个值: ALL
包括所有消息,OFF
排除所有消息。
15.1.3. Data Grid 日志记录类别
Data Grid 为 INFO
,WARN
,ERROR
,FATAL
级别消息提供类别,这些消息按功能区域组织日志。
org.infinispan.CLUSTER
- 特定于 Data Grid 集群的消息,其中包括状态传输操作、重新平衡事件、分区等。
org.infinispan.CONFIG
- 特定于 Data Grid 配置的消息。
org.infinispan.CONTAINER
- 特定于数据容器的消息,包括过期和驱除操作、缓存侦听器通知、事务等。
org.infinispan.PERSISTENCE
- 特定于缓存加载程序和存储的消息。
org.infinispan.SECURITY
- 特定于 Data Grid 安全的消息。
org.infinispan.SERVER
- 特定于 Data Grid 服务器的消息。
org.infinispan.XSITE
- 特定于跨站点复制操作的消息。
15.1.4. 日志附加器
日志附加器定义 Data Grid Server 如何记录日志消息。
- 控制台(CONSOLE)
-
将日志消息写入主机标准输出(
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
类。
15.1.5. 日志模式格式器
CONSOLE
和 FILE
附加器使用 PatternLayout
来根据 模式 格式化日志消息。
示例是 FILE appender 中的默认模式:%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p (%t)[%c pcscd] %m%throwable%n
-
%d{yyyy-MM-dd HH:mm:ss,SSS}
添加了当前的时间和日期。 -
%-5p
指定日志级别,与右侧一致。 -
%
T 添加当前线程的名称。 -
%c device
添加日志记录类别的短名称。 -
%
M 添加日志消息。 -
%throwable
添加异常堆栈追踪。 -
%n
添加新行。
PatternLayout
文档中 完全描述了模式。
15.1.6. 启用 JSON 日志处理程序
Data Grid Server 提供了一个日志处理程序,用于以 JSON 格式编写消息。
先决条件
-
如果 Data Grid Server 正在运行,则停止它。
您无法动态启用日志处理程序。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 取消注释
JSON-FILE
附加器并注释掉FILE
附加器:<!--<AppenderRef ref="FILE"/>--> <AppenderRef ref="JSON-FILE"/>
- (可选)根据需要配置 JSON 附加程序和 JSON 布局。
-
保存并关闭
log4j2.xml
。
当您启动 Data Grid 时,它会在以下文件中将每个日志消息写为 JSON 映射:$RHDG_HOME/server/log/server.log.json