第 10 章 使用 JBoss EAP 进行日志记录
JBoss EAP 为其内部使用和已部署的应用程序提供了高度可配置日志记录功能。logging 子系统基于 JBoss LogManager,除了 JBoss Logging 外,还支持多种第三方应用程序日志框架。
10.1. JBoss EAP 中的日志记录机制 复制链接链接已复制到粘贴板!
JBoss EAP 提供一系列日志记录机制,以支持监控、故障排除和管理服务器环境。了解这些机制有助于维护和调试 JBoss EAP 设置:
10.1.1. JBoss EAP 中的服务器日志记录 复制链接链接已复制到粘贴板!
在 JBoss EAP 中,服务器日志记录主要通过 server.log 文件进行管理,其中记录了所有日志条目。
此日志文件的位置取决于您的操作模式:
-
单机服务器:
EAP_HOME/standalone/log/server.log -
受管域:
EAP_HOME/domain/servers/SERVER_NAME/log/server.log
此文件通常称为服务器日志。
10.1.2. JBoss EAP 中的引导日志 复制链接链接已复制到粘贴板!
在启动过程中,JBoss EAP 会记录有关 Java 环境以及各个服务的启动信息。此日志可用于故障排除,并默认写入服务器日志。???
引导日志记录在 文件中配置,该文件在 JBoss EAP 日志记录子系统启动前被使用。
logging.properties
文件位置取决于您的操作模式:
-
独立服务器:
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文件的手动修改。
-
域控制器:
10.1.2.1. 查看引导错误 复制链接链接已复制到粘贴板!
在对 JBoss EAP 进行故障排除时,检查引导错误是一个关键步骤。您可以使用这些信息诊断并解决错误。如果需要,创建一个支持问题单,以协助对启动错误进行故障排除。
您可以使用以下方法查看引导错误:
-
查看
server.log文件中的引导错误 - 使用管理 CLI 命令读取引导错误
每种方法都有自己的优势,具体取决于您的要求。
10.1.2.1.1. 查看 server.log 文件中的引导错误 复制链接链接已复制到粘贴板!
您可以打开 server.log 文件,以查看引导过程中出现的任何错误。
这个方法提供了错误消息以及相关信息,可帮助您了解错误的原因。它以纯文本格式显示错误消息。
先决条件
- 您可以访问 JBoss EAP 服务器的文件系统。
-
您可以访问
server.log文件进行检查。
流程
-
在文件查看器中打开
server.log文件。 - 导航到文件末尾。
-
向后搜索
WFLYSRV0049消息标识符,这表示最新启动序列的开头。 在该点中搜索
ERROR实例的日志。每个实例都将包含错误的描述,并列出涉及的模块。以下是
server.log日志文件中的错误描述示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.2.1.2. 使用管理 CLI 命令读取引导错误 复制链接链接已复制到粘贴板!
在对 JBoss EAP 进行故障排除时,您可以使用 read-boot-errors 管理 CLI 命令查看启动期间报告的错误。
如果您无法访问服务器的文件系统,则此方法很有用,通过脚本进行远程监控和错误检查。使用管理 CLI 命令,您可以识别和解决引导错误。例如,您可以编写一个启动多个 JBoss EAP 实例的脚本,并检查启动错误。
先决条件
- JBoss EAP 正在运行。
- 您可以访问管理 CLI。
流程
启动管理 CLI。
<EAP_HOME>/bin/jboss-cli.sh
$ <EAP_HOME>/bin/jboss-cli.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下管理 CLI 命令:
/core-service=management:read-boot-errors
/core-service=management:read-boot-errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看输出以查看引导过程中出现的任何错误列表。
- 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.3. JBoss EAP 中的垃圾回收日志记录 复制链接链接已复制到粘贴板!
垃圾回收日志记录以纯文本日志文件记录所有垃圾回收活动。这些日志可用于诊断目的。
垃圾回收日志位于 EAP_HOME/standalone/log/gc.log.DIGIT.current。每个日志文件都限制为 3 MB,最多轮转五个文件。
建议您启用垃圾回收日志,因为它有助于进行故障排除并尽可能少的开销。但是,您可以在启动服务器前将 GC_LOG 变量设置为 false 来禁用它。例如:
export GC_LOG=false EAP_HOME/bin/standalone.sh
$ export GC_LOG=false
$ EAP_HOME/bin/standalone.sh
10.1.4. JBoss EAP 中的默认日志文件位置 复制链接链接已复制到粘贴板!
以下日志文件基于默认日志记录配置创建。这些配置使用定期日志处理程序来编写服务器日志文件。
| 日志文件 | 描述 |
|---|---|
|
| 包含服务器日志消息,包括启动消息。 |
|
| 包含垃圾回收详情。 |
| 日志文件 | 描述 |
|---|---|
|
| 包含与主机控制器启动相关的日志消息。 |
|
| 包含与进程控制器启动相关的日志消息。 |
|
| 包含 named 服务器的日志消息,包括启动消息。 |
10.1.5. 在 JBoss EAP 中设置服务器的默认区域设置 复制链接链接已复制到粘贴板!
您可以通过将 JVM 属性设置为启动配置文件来配置 JBoss EAP 的默认区域设置。启动配置文件是单机服务器的 EAP_HOME/bin/standalone.conf,或者用于受管域的 EAP_HOME/bin/domain.conf。
对于 Windows 服务器,JBoss EAP 启动配置文件是 standalone.conf.bat 和 domain.conf.bat。
已国际化和本地化的日志消息将使用此默认区域设置。
先决条件
- JBoss EAP 正在运行。
- 您可以访问服务器模式的启动配置文件。
流程
通过将
user.language属性添加到JAVA_OPTS变量来设置语言。例如,要将区域设置设置为法语,请在启动配置文件中添加以下行:JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过添加
user.language和user.country属性来设置语言和国家/地区。例如,要将区域设置设置为 Brazilian Portuguese,请添加以下行:JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 o'rg.jboss.logging.locale' 属性设置服务器区域设置,为日志消息指定不同的区域设置。这会覆盖用于日志记录的默认区域设置。例如,要将服务器区域设置设置为 Brazilian Portuguese,请添加以下行:
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此属性仅影响使用 JBoss Logging 及其依赖项的日志消息。Jakarta Server Faces 等其他依赖项无法获取覆盖的区域。
注意要使用与系统默认区域不同的区域设置启动 JBoss EAP,可编辑
EAP_HOME/bin/standalone.conf用于单机模式,或为受管域模式的EAP_HOME/bin/domain.conf编辑 EAP_HOME /bin/domain.conf。使用org.jboss.logging.locale属性以 BCP 47 格式设置区域设置。