第 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 文件中配置服务器日志。

流程

  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. 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. 日志模式

CONSOLEFILE 附加程序使用 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 正在运行,则停止它。
    您无法动态启用日志处理程序。

流程

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

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.