10.8. JBoss EAP におけるアプリケーションロギングの設定


アプリケーションのロギングは、JBoss EAP logging サブシステムを使用するか、per-deployment ベースで設定できます。logging サブシステムにより管理を一元化でき、per-deployment ロギングにより各アプリケーションに固有のカスタム設定が可能になります。

10.8.1. per-deployment ロギングの設定

per-deployment ロギングを使用することで、開発者はアプリケーションのロギングを事前に設定できます。アプリケーションがデプロイされると、定義された設定に従ってロギングが開始されます。この設定によって生成されたログファイルにはアプリケーションの動作に関する情報のみが含まれます。

注記

per-deployment ロギングを使用する場合、アプリケーションは logging サブシステムの設定を使用しません。代わりに、アプリケーションのデプロイメントファイル内で定義されたロギング設定を使用します。各アプリケーションは、グローバル設定とは別に、カスタムログ設定を持つことができます。

システム全体のロギングと比較して、このアプローチには利点と欠点があります。利点としては、JBoss EAP 管理者がサーバーロギング以外のロギングを設定する必要がないことが挙げられます。欠点は、per-deployment ロギング設定はサーバー起動時にのみ読み取られ、実行時に変更できないことです。

10.8.1.1. per-deployment ロギングの無効化

JBoss EAP で per-deployment ロギングを無効にするには、use-deployment-logging-config 属性を設定するか、logging サブシステムを除外します。

前提条件

  • JBoss EAP が実行している。

次のいずれかの方法を使用して、per-deployment ロギングを無効にします。

手順

  • use-deployment-logging-config 属性を false に設定します。

    /subsystem=logging:write-attribute(name=use-deployment-logging-config,value=false)

    use-deployment-logging-config 属性は、デプロイメントがデプロイメントごとにロギングに対してスキャンされるかどうかを制御します。デフォルトは true です。per-deployment ロギングを無効にするには、これを false に設定します。

  • jboss-deployment-structure.xml ファイルを使用して logging サブシステムを除外します。

10.8.2. アプリケーションロギングプロファイル

ロギングプロファイルは、デプロイされたアプリケーションに割り当てることができる独立したロギング設定のセットです。通常の logging サブシステムと同様に、ロギングプロファイルでは、ハンドラー、カテゴリー、フォーマッター、およびルートロガーを定義できます。ただし、他のプロファイルまたはメインの logging サブシステムの設定を参照することはできません。設定を容易にするために、ロギングプロファイルの設計は logging サブシステムに類似しています。

ロギングプロファイルを使用すると、管理者は他の設定に影響を与えることなく、1 つ以上のアプリケーションに固有のロギング設定を作成できます。各プロファイルはサーバー設定で定義されるため、ロギング設定を変更しても、影響を受けるアプリケーションを再デプロイする必要はありません。

各ロギングプロファイルには以下の項目を設定できます。

  • 一意な名前。この値は必須です。
  • 任意の数のログハンドラー。
  • 任意の数のログカテゴリー。
  • 最大 1 つのルートロガー。
  • ログフォーマッター。

アプリケーションでは、Logging-Profile を設定することで、MANIFEST.MF ファイルで使用するロギングプロファイルを指定できます。

10.8.2.1. ロギングプロファイルの設定

ログハンドラー、カテゴリー、ルートロガーを使用してロギングプロファイルを設定できます。ロギングプロファイルの設定には、logging サブシステムの設定と同じ構文を使用しますが、以下の点が異なります。

  • ルート設定パスが /subsystem=logging/logging-profile=NAME になります。
  • ロギングプロファイルに他のロギングプロファイルを追加できません。
  • logging サブシステムには、ロギングプロファイルでは使用できない以下の属性が含まれています。

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

管理 CLI を使用して、JBoss EAP のロギングプロファイルを設定できます。または、管理コンソールから Configuration > Subsystems > Logging > Logging Profiles に移動して設定することもできます。

前提条件

  • JBoss EAP が実行している。

手順

  1. 次のコマンドを使用して、ロギングプロファイルを作成します。

    /subsystem=logging/logging-profile=PROFILE_NAME:add
  2. 次のコマンドを使用して、ファイルハンドラーを追加します。

    /subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:add(file={path=>"LOG_NAME.log", "relative-to"=>"jboss.server.log.dir"})
  3. 次のコマンドを使用して、ファイルハンドラーのロギングレベルを設定します。

    /subsystem=logging/logging-profile=PROFILE_NAME/file-handler=FILE_HANDLER_NAME:write-attribute(name="level", value="DEBUG")
  4. 次のコマンドを使用して、ロガー名を作成します。

    /subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add(level=TRACE)
  5. 次のコマンドを使用して、ファイルハンドラーをカテゴリーに割り当てます。

    /subsystem=logging/logging-profile=PROFILE_NAME/logger=CATEGORY_NAME:add-handler(name="FILE_HANDLER_NAME")

    この後、アプリケーションによって使用されるロギングプロファイルを 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")
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>
アプリケーションの MANIFEST.MF ファイル
Manifest-Version: 1.0
Logging-Profile: accounts-app-profile

10.8.3. デプロイメントロギング設定の表示

管理 CLI を使用して、JBoss EAP のデプロイメントのロギング設定を表示できます。

前提条件

  • JBoss EAP が実行している。

手順

  1. 次のコマンドを使用して、特定のデプロイメントのロギング設定を取得します。

    /deployment=DEPLOYMENT_NAME/subsystem=logging/configuration=CONFIG:read-resource

    CONFIG の値は、次のいずれかになります。

    • default: デプロイメントで logging サブシステム が使用されている場合は、ロギングサブシステム設定が出力されます。
    • profile-PROFILE_NAME: デプロイメントでロギングサブシステムで定義された ロギングプロファイル が使用されている場合は、ロギングプロファイル設定が出力されます。
    • 使用される設定ファイルへのパス (例: myear.ear/META-INF/logging.properties) を指定します。
  2. 次のコマンドを実行して、特定のロギングプロファイルの設定を表示します。

    /deployment=mydeployment.war/subsystem=logging/configuration=profile-MYPROFILE:read-resource(recursive=true,include-runtime=true)

    このコマンドは、指定されたデプロイメントで使用される 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
        }
    }
  3. 次のコマンドを使用して、再帰的な read-resource 操作を実行し、ロギング設定全体とデプロイメントに関するその他の情報を取得することもできます。

    /deployment=DEPLOYMENT_NAME/subsystem=logging:read-resource(include-runtime=true, recursive=true)
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る