第 12 章 使用 JBoss EAP 进行日志记录
JBoss EAP 提供高度可配置的日志功能,供其内部使用,供已部署的应用程序使用。logging 子系统基于 JBoss LogManager,除了 JBoss Logging 之外,还支持几个第三方应用程序日志记录框架。
12.1. 关于服务器日志记录 复制链接链接已复制到粘贴板!
12.1.1. 服务器日志 复制链接链接已复制到粘贴板!
默认情况下,所有 JBoss EAP 日志条目都写入到 server.log 文件中。此文件的位置取决于您的操作模式。
-
独立服务器:
EAP_HOME/standalone/log/server.log -
受管域:
EAP_HOME/domain/servers/SERVER_NAME/log/server.log
此文件通常被称为服务器日志。如需更多信息,请参阅 Root Logger 部分。
12.1.2. 引导日志记录 复制链接链接已复制到粘贴板!
在启动过程中,JBoss EAP 会记录有关 Java 环境以及各个服务的启动信息。此日志在故障排除时很有用。默认情况下,所有日志条目都写入 服务器日志。
bootup 日志记录配置在 logging.properties 配置文件中指定,该文件处于活动状态,直到 JBoss EAP logging 子系统启动并接管。此文件的位置取决于您的操作模式。
-
独立服务器:
EAP_HOME/standalone/configuration/logging.properties 受管域:
域控制器和每台服务器都有一个
logging.properties文件。-
域控制器:
EAP_HOME/domain/configuration/logging.properties -
server:
EAP_HOME/domain/servers/SERVER_NAME/data/logging.properties
-
域控制器:
建议您不要直接编辑 logging.properties 文件,除非您知道需要它的特定用例。在这样做前,建议您 从红帽客户门户网站创建一个支持问题单。
手动对 logging.properties 文件所做的更改会被在启动时覆盖。
12.1.2.1. 查看启动错误 复制链接链接已复制到粘贴板!
在对 JBoss EAP 进行故障排除时,检查启动期间发生的错误应该是执行的第一个步骤之一。然后,您可以使用提供的信息来诊断和解决其原因。创建一个支持问题单,以获得对引导错误进行故障排除的帮助。
有两种方法可以查看引导错误,每种错误都有其优点。您可以使用read- boot-errors 管理 CLI 命令来检查 引导错误。
server.log 文件或 读取
检查服务器日志文件
您可以打开 server.log 文件,以查看启动过程中发生的任何错误。
这个方法允许您查看每个错误消息以及可能相关的消息,允许您获取有关错误 可能发生的原因 的更多信息。它还允许您以纯文本格式查看错误消息。
-
在文件查看器中打开文件
server.log。 - 导航到文件的末尾。
-
向后搜索
WFLYSRV0049消息标识符,标记最新引导序列的开头。 -
从 中搜索指向
ERROR的实例的日志。每个实例都包括错误的描述并列出涉及的模块。
以下是 server.log 日志文件的错误描述示例。
从管理 CLI 读取引导错误
您可以使用 read-boot-errors 管理 CLI 命令查看服务器启动但在启动过程中报告的错误。
此方法不需要访问服务器的文件系统,这对于负责监控无文件系统访问权限的错误的用户很有用。由于它是一个管理 CLI 命令,因此可以在脚本中使用。例如,您可以编写一个启动多个 JBoss EAP 实例的脚本,然后检查引导时发生的错误。
运行以下管理 CLI 命令。
/core-service=management:read-boot-errors
/core-service=management:read-boot-errors
将列出启动期间发生的任何错误。
12.1.3. 垃圾回收日志 复制链接链接已复制到粘贴板!
垃圾回收日志将所有垃圾回收活动记录到纯文本日志文件。这些日志文件可用于诊断目的。除 IBM Java 开发工具包外,在所有支持的配置中,都默认为 JBoss EAP 单机服务器启用垃圾回收日志记录。
垃圾回收日志的位置是 EAP_HOME/standalone/log/gc.log.DIGIT.current。垃圾回收日志分别限制为 3 MB,最多会轮转五个文件。
12.1.4. 默认日志文件位置 复制链接链接已复制到粘贴板!
为默认日志记录配置创建以下日志文件。默认配置使用定期日志处理程序写入服务器日志文件。
| 日志文件 | 描述 |
|---|---|
| EAP_HOME/standalone/log/server.log | 包含服务器日志消息,包括服务器启动消息。 |
| EAP_HOME/standalone/log/gc.log.DIGIT.current | 包含垃圾回收详情。 |
| 日志文件 | 描述 |
|---|---|
| EAP_HOME/domain/log/host-controller.log | 包含与主机控制器启动相关的日志消息。 |
| EAP_HOME/domain/log/process-controller.log | 包含与进程控制器启动相关的日志消息。 |
| EAP_HOME/domain/servers/SERVER_NAME/log/server.log | 包含指定服务器的日志消息,包括服务器启动消息。 |
12.1.5. 设置服务器的默认区域 复制链接链接已复制到粘贴板!
您可以通过在适当的启动配置文件中设置 JVM 属性,为 JBoss EAP 配置默认区域设置。启动配置文件是 EAP_HOME/bin/standalone.conf,用于单机服务器,或 EAP_HOME/bin/domain.conf 用于受管域。
对于 Windows Server,JBoss EAP 启动配置文件为 standalone.conf.bat 和 domain.conf.bat。
已国际化和本地化的日志消息将使用此默认区域设置。有关创建国际化 日志消息 的信息,请参阅 JBoss EAP 开发指南。
设置语言
使用 JAVA_OPTS 变量设置 user.language 属性来指定语言。例如,将以下行添加到启动配置文件中,以设置法语区域设置。
JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
现在,已国际化和本地化的日志消息将在法语中输出。
设置语言和国家
除了语言外,可能需要通过设置 user.country 属性来指定国家/地区。例如,将以下行添加到启动配置文件中,为巴西设置葡萄牙区域设置。
JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
已国际化和本地化的日志消息现在在巴西葡萄牙语中输出。
使用 org.jboss.logging.locale Property 设置 Server Locale
您可以配置 org.jboss.logging.locale 属性,以覆盖使用 JBoss Logging 记录的消息的区域,包括 JBoss EAP 及其拥有的依赖项。JSF 等其他依赖项无法获取覆盖的区域。
要使用与系统默认不同的区域设置启动 JBoss EAP 服务器,您可以编辑 EAP_HOME/bin/standalone.conf 或 EAP_HOME/bin/domain.conf 文件,具体取决于您的操作模式,并附加以下命令来为所需的区域设置 JVM 参数。属性值必须以 BCP 47 格式指定。例如,若要设置巴西葡萄牙语,请使用 pt-BR。
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"