第 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
文件中配置服务器日志。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 - 根据需要更改服务器日志记录。
-
保存并关闭
log4j2.xml
。
其他资源
14.1.2. 日志级别
日志级别表示消息的性质和严重性。
日志级别 | 描述 |
---|---|
| 精细调试消息,通过应用程序捕获单个请求流。 |
| 用于常规调试的消息,与单个请求无关。 |
| 有关应用程序总体进度的消息,包括生命周期事件。 |
| 导致错误或降级性能的事件。 |
| 防止操作或活动无法成功但不会阻止应用程序运行的错误条件。 |
| 可能导致关键服务故障和应用程序关闭的事件。 |
除了上述各个消息级别外,该配置还允许两个值更多: ALL
可以包括所有消息,使用 OFF
来排除所有消息。
14.1.3. 数据网格日志记录类别
数据网格为 INFO
、WARN
、ERROR
、FATAL
级消息提供按功能区域组织日志的类别。
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. 日志模式格式
CONSOLE
和 FILE
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 格式编写消息。
先决条件
-
如果数据网格服务器正在运行,停止该服务器。
您无法动态启用日志处理程序。
流程
-
使用任何文本编辑器打开
$RHDG_HOME/server/conf/log4j2.xml
。 取消注释
JSON-FILE
附加程序,并注释掉FILE
appender:<!--<AppenderRef ref="FILE"/>--> <AppenderRef ref="JSON-FILE"/>
- (可选)根据需要配置 JSON 附加程序和 JSON 布局。
-
保存并关闭
log4j2.xml
。
当您启动 Data Grid 时,它会在以下文件中将每个日志消息写为 JSON 映射:$RHDG_HOME/server/log/server.log.json