10.8. 在 JBoss EAP 中配置应用程序日志


您可以使用 JBoss EAP 日志记录子系统 或基于每个 部署的应用配置日志记录logging 子系统提供集中管理,而 每个 部署日志则启用特定于每个应用程序的自定义配置。

10.8.1. 每部署配置的日志配置

通过按部署的日志,开发人员可以提前为其应用程序配置日志记录。部署应用程序时,日志会根据定义的配置启动。通过此配置生成的日志文件仅包含有关应用行为的信息。

注意

使用每部署日志记录时,应用不使用 logging 子系统配置。相反,它使用应用部署文件中定义的日志记录配置。每个应用程序都可以具有自定义日志记录设置,独立于全局配置。

与系统范围的日志记录相比,这种方法具有优缺点。优点是 JBoss EAP 管理员不需要配置服务器日志以外的任何日志。缺点是,每个部署的日志记录配置在服务器启动时只只读,且在运行时无法更改。

10.8.1.1. 禁用每个部署的日志

您可以通过设置 use-deployment-logging-config 属性或排除 logging 子系统来禁用 JBoss EAP 中的每次部署日志记录。

先决条件

  • JBoss EAP 正在运行。

流程

使用以下方法之一禁用每个部署的日志:

  • use-deployment-logging-config 属性设置为 false

    /subsystem=logging:write-attribute(name=use-deployment-logging-config,value=false)
    Copy to Clipboard Toggle word wrap

    use-deployment-logging-config 属性控制您的部署是否针对每个部署日志记录扫描。默认值为 true。把它设置为 false 以禁用每个部署的日志。

  • 使用 jboss-deployment-structure.xml 文件排除 logging 子系统。

10.8.2. 应用程序日志记录配置集

日志记录配置集是您可以分配给部署的应用程序的独立日志记录配置集合。与常规的 logging 子系统一样,日志记录配置集可以定义处理程序、类别、格式器和根日志记录器。但是,它无法引用其他配置集或主 日志记录子系统 中的配置。日志记录配置文件的设计类似于 logging 子系统,以便更轻松地配置。

通过日志记录配置集,管理员可以创建特定于一个或多个应用的日志记录配置,而不影响其他配置。每个配置集在服务器配置中定义,允许更改日志记录设置,而无需重新部署受影响的应用。

每个日志记录配置集都可以有:

  • 唯一的名称。此值是必需的。
  • 任意数量的日志处理程序。
  • 任意数量的日志类别。
  • 最多为一个根日志记录器。
  • 日志格式器.

应用程序可以通过设置 Logging-Profile 属性来指定要在其 MANIFEST.MF 文件中使用的日志记录配置集。

10.8.2.1. 配置日志记录配置集

您可以使用日志处理程序、类别和根日志记录器配置日志记录配置集。配置日志记录配置集的语法与配置 logging 子系统相同,但有以下区别:

  • root 配置路径为 /subsystem=logging/logging-profile=NAME
  • 日志记录配置集不能包含其他日志记录配置集。
  • logging 子系统包括以下属性,它们不适用于日志记录配置集:

    • add-logging-api-dependencies
    • use-deployment-logging-config

您可以使用管理 CLI 在 JBoss EAP 中配置日志配置文件。或者,您可以通过管理控制台配置它们,方法是导航到 Configuration > Subsystems > Logging > Logging > Logging Profiles

先决条件

  • JBoss EAP 正在运行。

流程

  1. 使用以下命令创建日志记录配置集:

    /subsystem=logging/logging-profile=PROFILE_NAME:add
    Copy to Clipboard Toggle word wrap
  2. 使用以下命令添加文件处理器:

    /subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:add(file={path=>"LOG_NAME.log", "relative-to"=>"jboss.server.log.dir"})
    Copy to Clipboard Toggle word wrap
  3. 使用以下命令为文件处理器设置日志记录级别:

    /subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:write-attribute(name="level", value="DEBUG")
    Copy to Clipboard Toggle word wrap
  4. 使用以下命令创建日志记录器名称:

    /subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add(level=TRACE)
    Copy to Clipboard Toggle word wrap
  5. 使用以下命令将文件处理程序分配给类别:

    /subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add-handler(name="FILE_HANDLER_NAME")
    Copy to Clipboard Toggle word wrap

然后,您可以在其 MANIFEST.MF 文件中将应用程序设置为使用日志记录配置集。

10.8.2.2. 应用程序日志记录配置集配置示例

本例演示了日志记录配置集的配置和使用它的应用程序。它包括管理 CLI 命令、生成的 XML 和应用的 MANIFEST.MF 文件。

日志记录配置集示例具有以下特征:

  • 名称为 accounts-app-profile
  • 日志类别为 com.company.accounts.ejbs
  • 日志级别为 TRACE
  • 日志处理程序是利用文件 ejb-trace.log 文件的文件处理程序。

管理 CLI 会话

/subsystem=logging/logging-profile=accounts-app-profile:add

/subsystem=logging/logging-profile=accounts-app-profile/file-handler=ejb-trace-file:add(file={path=>"ejb-trace.log", "relative-to"=>"jboss.server.log.dir"})

/subsystem=logging/logging-profile=accounts-app-profile/file-handler=ejb-trace-file:write-attribute(name="level", value="DEBUG")

/subsystem=logging/logging-profile=accounts-app-profile/logger=com.company.accounts.ejbs:add(level=TRACE)

/subsystem=logging/logging-profile=accounts-app-profile/logger=com.company.accounts.ejbs:add-handler(name="ejb-trace-file")
Copy to Clipboard Toggle word wrap

XML 配置

<logging-profiles>
   <logging-profile name="accounts-app-profile">
      <file-handler name="ejb-trace-file">
         <level name="DEBUG"/>
         <file relative-to="jboss.server.log.dir" path="ejb-trace.log"/>
      </file-handler>
      <logger category="com.company.accounts.ejbs">
         <level name="TRACE"/>
         <handlers>
            <handler name="ejb-trace-file"/>
         </handlers>
      </logger>
   </logging-profile>
</logging-profiles>
Copy to Clipboard Toggle word wrap

应用程序 MANIFEST.MF 文件

Manifest-Version: 1.0
Logging-Profile: accounts-app-profile
Copy to Clipboard Toggle word wrap

10.8.3. 查看部署日志配置

您可以使用管理 CLI 查看 JBoss EAP 中部署的日志配置。

先决条件

  • JBoss EAP 正在运行。

流程

  1. 使用以下命令检索特定部署的日志记录配置:

    /deployment=DEPLOYMENT_NAME/subsystem=logging/configuration=CONFIG:read-resource
    Copy to Clipboard Toggle word wrap

    CONFIG 值可以是以下之一:

  2. 要显示特定日志记录配置集的配置,请运行以下命令:

    /deployment=mydeployment.war/subsystem=logging/configuration=profile-MYPROFILE:read-resource(recursive=true,include-runtime=true)
    Copy to Clipboard Toggle word wrap

    此命令检索指定部署使用的 MYPROFILE 日志记录配置集的配置。

    预期输出

    {
        "outcome" => "success",
        "result" => {
            "error-manager" => undefined,
            "filter" => undefined,
            "formatter" => {
                "MYFORMATTER" => {
                    "class-name" => "org.jboss.logmanager.formatters.PatternFormatter",
                    "module" => undefined,
                    "properties" => {"pattern" => "%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"}
                }
            },
            "handler" => {
                "MYPERIODIC" => {
                    "class-name" => "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler",
                    "encoding" => undefined,
                    "error-manager" => undefined,
                    "filter" => undefined,
                    "formatter" => "MYFORMATTER",
                    "handlers" => [],
                    "level" => "ALL",
                    "module" => undefined,
                    "properties" => {
                        "append" => "true",
                        "autoFlush" => "true",
                        "enabled" => "true",
                        "suffix" => ".yyyy-MM-dd",
                        "fileName" => "EAP_HOME/standalone/log/deployment.log"
                    }
                }
            },
            "logger" => {"MYCATEGORY" => {
                "filter" => undefined,
                "handlers" => [],
                "level" => "DEBUG",
                "use-parent-handlers" => true
            }},
            "pojo" => undefined
        }
    }
    Copy to Clipboard Toggle word wrap

  3. 您还可以执行递归 read-resource 操作来检索整个日志记录配置以及有关部署的其他信息:

    /deployment=DEPLOYMENT_NAME/subsystem=logging:read-resource(include-runtime=true, recursive=true)
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat