第 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 文件,以查看启动过程中发生的任何错误。

这个方法允许您查看每个错误消息以及可能相关的消息,允许您获取有关错误 可能发生的原因 的更多信息。它还允许您以纯文本格式查看错误消息。

  1. 在文件查看器中打开文件 server.log
  2. 导航到文件的末尾。
  3. 向后搜索 WFLYSRV0049 消息标识符,标记最新引导序列的开头。
  4. 从 中搜索指向 ERROR 的实例的日志。每个实例都包括错误的描述并列出涉及的模块。

以下是 server.log 日志文件的错误描述示例。

2016-03-16 14:32:01,627 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.undertow.listener.default: org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener
        at org.wildfly.extension.undertow.ListenerService.start(ListenerService.java:142)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.BindException: Address already in use
        ...
Copy to Clipboard Toggle word wrap
从管理 CLI 读取引导错误

您可以使用 read-boot-errors 管理 CLI 命令查看服务器启动但在启动过程中报告的错误。

此方法不需要访问服务器的文件系统,这对于负责监控无文件系统访问权限的错误的用户很有用。由于它是一个管理 CLI 命令,因此可以在脚本中使用。例如,您可以编写一个启动多个 JBoss EAP 实例的脚本,然后检查引导时发生的错误。

运行以下管理 CLI 命令。

/core-service=management:read-boot-errors
Copy to Clipboard Toggle word wrap

将列出启动期间发生的任何错误。

{
    "outcome" => "success",
    "result" => [
        {
            "failed-operation" => {
                "operation" => "add",
                "address" => [
                    ("subsystem" => "undertow"),
                    ("server" => "default-server"),
                    ("http-listener" => "default")
                ]
            },
            "failure-description" => "{\"WFLYCTL0080: Failed services\" => {\"jboss.undertow.listener.default\" => \"org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener
    Caused by: java.net.BindException: Address already in use\"}}",
            "failed-services" => {"jboss.undertow.listener.default" => "org.jboss.msc.service.StartException in service jboss.undertow.listener.default: Could not start http listener
    Caused by: java.net.BindException: Address already in use"}
        }
        ...
    ]
}
Copy to Clipboard Toggle word wrap

12.1.3. 垃圾回收日志

垃圾回收日志将所有垃圾回收活动记录到纯文本日志文件。这些日志文件可用于诊断目的。 IBM Java 开发工具包外,在所有支持的配置中,都默认为 JBoss EAP 单机服务器启用垃圾回收日志记录。

垃圾回收日志的位置是 EAP_HOME/standalone/log/gc.log.DIGIT.current。垃圾回收日志分别限制为 3 MB,最多会轮转五个文件。

12.1.4. 默认日志文件位置

为默认日志记录配置创建以下日志文件。默认配置使用定期日志处理程序写入服务器日志文件。

Expand
表 12.1. 单机服务器的默认日志文件
日志文件描述

EAP_HOME/standalone/log/server.log

包含服务器日志消息,包括服务器启动消息。

EAP_HOME/standalone/log/gc.log.DIGIT.current

包含垃圾回收详情。

Expand
表 12.2. 受管域的默认日志文件
日志文件描述

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.batdomain.conf.bat

已国际化和本地化的日志消息将使用此默认区域设置。有关创建国际化 日志消息 的信息,请参阅 JBoss EAP 开发指南。

设置语言

使用 JAVA_OPTS 变量设置 user.language 属性来指定语言。例如,将以下行添加到启动配置文件中,以设置法语区域设置。

JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
Copy to Clipboard Toggle word wrap

现在,已国际化和本地化的日志消息将在法语中输出。

设置语言和国家

除了语言外,可能需要通过设置 user.country 属性来指定国家/地区。例如,将以下行添加到启动配置文件中,为巴西设置葡萄牙区域设置。

JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
Copy to Clipboard Toggle word wrap

已国际化和本地化的日志消息现在在巴西葡萄牙语中输出。

使用 org.jboss.logging.locale Property 设置 Server Locale

您可以配置 org.jboss.logging.locale 属性,以覆盖使用 JBoss Logging 记录的消息的区域,包括 JBoss EAP 及其拥有的依赖项。JSF 等其他依赖项无法获取覆盖的区域。

要使用与系统默认不同的区域设置启动 JBoss EAP 服务器,您可以编辑 EAP_HOME/bin/standalone.confEAP_HOME/bin/domain.conf 文件,具体取决于您的操作模式,并附加以下命令来为所需的区域设置 JVM 参数。属性值必须以 BCP 47 格式指定。例如,若要设置巴西葡萄牙语,请使用 pt-BR。

JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat