第 14 章 启用和自定义日志记录
Data Grid 使用 Apache Log4j 2 提供可配置的日志机制,用于捕获环境和记录缓存操作的详细信息,以进行故障排除和根本原因分析。
14.1. 服务器日志
Data Grid 将服务器日志写入 $RHDG_HOME/server/log
目录中的以下文件中:
server.log
-
以人类可读格式的消息,包括与服务器启动相关的引导日志。
在启动服务器时,Data Grid 会创建此文件。 server.log.json
-
JSON 格式的消息,允许您解析和分析 Data Grid 日志。
在启用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. Data Grid Log Categories
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
- 特定于跨站点复制操作的消息。
14.1.4. 日志应用程序
日志附加程序定义 Data Grid 记录日志消息的方式。
- 控制台
-
将日志消息写入主机标准输出(
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
附加程序使用 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 consumption
添加日志记录类别的短名称。 -
%
M 添加日志消息。 -
%throwable
添加异常堆栈追踪。 -
%n
添加新行。
PatternLayout
文档 完全描述了模式。
14.1.6. 启用并配置 JSON 日志处理程序
Data Grid 提供了一个 JSON 日志处理程序,以 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