第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 サブシステムが起動するまで使用される logging.properties ファイルで設定されます。

ファイルの場所は、操作モードによって異なります。

  • スタンドアロンサーバーの場合: EAP_HOME/standalone/configuration/logging.properties
  • 管理対象ドメイン: ドメインコントローラーと各サーバーの両方に、logging.properties ファイルがあります。

    • ドメインコントローラー: EAP_HOME/domain/configuration/logging.properties
    • サーバー: EAP_HOME/domain/servers/SERVER_NAME/data/logging.properties

      警告

      必要な場合を除き、logging.properties ファイルは直接編集しないでください。特定のユースケースがある場合は、変更する前に Red Hat カスタマーポータル を参照してください。

      logging.properties ファイルへの手動での変更は、起動時に上書きされます。

10.1.2.1. 起動エラーの表示

JBoss EAP のトラブルシューティングでは、起動エラーの確認が重要なステップとなります。この情報を使用して、エラーを診断および解決できます。起動エラーのトラブルシューティングでサポートが必要な場合はサポートケースを作成してください。

起動エラーは次の方法で表示できます。

それぞれの方法には、要件に応じた利点があります。

10.1.2.1.1. server.log ファイルで起動エラーを確認する

server.log ファイルを開いて起動中に発生したエラーを確認します。

このメソッドは、エラーメッセージと関連情報を提供するため、エラーの原因を理解するために役立ちます。エラーメッセージをプレーンテキスト形式で表示します。

前提条件

  • JBoss EAP サーバーのファイルシステムにアクセスできる。
  • 確認のために 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
10.1.2.1.2. 管理 CLI コマンドで起動エラーを読み取る

JBoss EAP のトラブルシューティングを行う場合、read-boot-errors 管理 CLI コマンドを使用して、起動中に報告されたエラーを表示できます。

この方法は、サーバーのファイルシステムにアクセスできない場合に使用でき、スクリプトによるリモート監視とエラーチェックが可能になります。管理 CLI コマンドを使用すると、起動エラーを特定して対処できます。たとえば、複数の JBoss EAP インスタンスを起動し、起動エラーをチェックするスクリプトを作成できます。

前提条件

  • JBoss EAP が実行している。
  • 管理 CLI にアクセスできる。

手順

  1. 管理 CLI を起動します。

    $ <EAP_HOME>/bin/jboss-cli.sh
    Copy to Clipboard Toggle word wrap
  2. 次の管理 CLI コマンドを実行します。

    /core-service=management:read-boot-errors
    Copy to Clipboard Toggle word wrap
  3. 出力で、起動中に発生したエラーのリストを確認します。

    出力例
    {
        "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

10.1.3. JBoss EAP におけるガベージコレクションロギング

ガベージコレクションのロギングでは、すべてのガベージコレクションアクティビティーをプレーンテキストのログファイルに記録します。これらのログは、診断に使用できます。

ガベージコレクションログは、EAP_HOME/standalone/log/gc.log.DIGIT.current にあります。各ログファイルは 3 MB に制限されており、最大 5 つのファイルがローテーションされます。

ガベージコレクションのロギングは、トラブルシューティングに役立ち、オーバーヘッドも最小であるため、有効にしておくことが推奨されます。ただし、サーバーを起動する前に GC_LOG 変数を false に設定することで、スタンドアロンサーバーで無効にできます。以下に例を示します。

$ export GC_LOG=false
$ EAP_HOME/bin/standalone.sh
Copy to Clipboard Toggle word wrap

10.1.4. JBoss EAP におけるデフォルトのログファイルの場所

デフォルトのロギング設定に基づいて、次のログファイルが作成されます。これらの設定では、periodic ログハンドラーを使用してサーバーログファイルを書き込みます。

Expand
表10.1 スタンドアロンサーバーのデフォルトログファイル
ログファイル説明

EAP_HOME/standalone/log/server.log

起動メッセージを含むサーバーログメッセージが含まれます。

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

ガベージコレクションの詳細が含まれます。

Expand
表10.2 管理対象ドメインのデフォルトログファイル
ログファイル説明

EAP_HOME/domain/log/host-controller.log

ホストコントローラーの起動に関連するログメッセージが含まれます。

EAP_HOME/domain/log/process-controller.log

プロセスコントローラーの起動に関連するログメッセージが含まれます。

EAP_HOME/domain/servers/SERVER_NAME/log/server.log

起動メッセージを含む、名前付きサーバーのログメッセージが含まれます。

10.1.5. JBoss EAP におけるサーバーのデフォルトロケールを設定する

起動設定ファイルに JVM プロパティーを設定することで、JBoss EAP のデフォルトロケールを設定できます。起動設定ファイルは、スタンドアロンサーバーの場合は EAP_HOME/bin/standalone.conf、管理対象ドメインの場合は EAP_HOME/bin/domain.conf です。

注記

Windows Server の場合、JBoss EAP 起動設定ファイルは standalone.conf.batdomain.conf.bat です。

国際化または現地化されたログメッセージはこのデフォルトロケールを使用します。

前提条件

  • JBoss EAP が実行している。
  • サーバーモードの起動設定ファイルにアクセスできる。

手順

  1. JAVA_OPTS 変数に user.language プロパティーを追加して言語を設定します。たとえば、ロケールをフランス語に設定するには、起動設定ファイルに次の行を追加します。

    JAVA_OPTS="$JAVA_OPTS -Duser.language=fr"
    Copy to Clipboard Toggle word wrap
  2. user.language プロパティーと user.country プロパティーを追加して、言語と国を設定します。たとえば、ロケールをブラジルポルトガル語に設定するには、次の行を追加します。

    JAVA_OPTS="$JAVA_OPTS -Duser.language=pt -Duser.country=BR"
    Copy to Clipboard Toggle word wrap
  3. ログメッセージに別のロケールを指定するには、`org.jboss.logging.locale` プロパティーを使用してサーバーのロケールを設定します。これにより、ロギングのデフォルトロケールがオーバーライドされます。たとえば、サーバーのロケールをブラジルポルトガル語に設定するには、次の行を追加します。

    JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.logging.locale=pt-BR"
    Copy to Clipboard Toggle word wrap

    このプロパティーは、JBoss Logging とその依存関係を使用するログメッセージにのみ影響します。Jakarta Server Faces などの他の依存関係ではロケールをオーバーライドできません。

    注記

    システムのデフォルトとは異なるロケールで JBoss EAP を起動するには、スタンドアロンモードの場合は EAP_HOME/bin/standalone.conf を、管理対象ドメインモードの場合は EAP_HOME/bin/domain.conf を編集します。org.jboss.logging.locale プロパティーを使用して、BCP 47 形式でロケールを設定します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat