• 検索結果がありません。

JBOSS LOGGING FRAMEWORK を用いたロギング

第 4 章 LOGGING

4.2. JBOSS LOGGING FRAMEWORK を用いたロギング

JBoss Logging は、JBoss EAP に含まれるアプリケーションロギングフレームワークです。JBoss

Logging を使用すると、簡単にロギングをアプリケーションに追加できます。また、フレームワークを

使用するアプリケーションにコードを追加し、定義された形式でログメッセージを送信できます。アプ リケーションサーバーにアプリケーションがデプロイされると、これらのメッセージをサーバーでキャ プチャーしたり、サーバーの設定に基づいて表示したり、ファイルに書き込んだりできます。

JBoss Logging では次の機能が提供されます。

革新的で使いやすい型指定されたロガー。型指定されたロガーは

org.jboss.logging.annotations.MessageLogger でアノテーションが付けられたロガーイン ターフェースです。例は、国際化されたロガー、メッセージ、例外の作成」を参照してくださ い。

国際化およびローカリゼーションの完全なサポート。翻訳者は properties ファイルのメッセー ジバンドルを、開発者はインターフェースやアノテーションを使い作業を行います。詳細 は、「国際化と現地語化」を参照してください。

実稼働用の型指定されたロガーを生成し、開発用の型指定されたロガーを実行時に生成する構 築時ツール。

4.2.2. JBoss Logging を使用したアプリケーションへのロギングの追加

この手順では、JBoss Logging を使用してアプリケーションにロギングを追加する方法を示します。

重要 重要

Maven を使用してプロジェクトをビルドする場合は、JBoss EAP Maven リポジトリーを

使用するよう Maven を設定する必要があります。詳細は、「JBoss EAP Maven リポジ トリーの設定」を参照してください。

1. JBoss Logging JAR ファイルがアプリケーションのビルドパスに指定されている必要がありま

す。

Red Hat CodeReady Studio を使用して構築する場合は、Project メニューから Properties を選択し、Targeted Runtimes を選択して JBoss EAP のランタイムにチェックマークが付 いていることを確認します。

Maven を使用してプロジェクトをビルドする場合は、JBoss Logging フレームワークにア

クセスするために必ず jboss-logging 依存関係をプロジェクトの pom.xml ファイルに追加 してください。

jboss-eap-jakartaee8 BOM は jboss-logging のバージョンを管理します。詳細は、「プロ ジェクト依存関係の管理」を参照してください。アプリケーションでのロギングの実例

は、JBoss EAP に同梱される logging クイックスタートを参照してください。

JAR は、JBoss EAP がデプロイされたアプリケーションに提供するため、ビルドされたアプリ

ケーションに含める必要はありません。

<dependency>

<groupId>org.jboss.logging</groupId>

<artifactId>jboss-logging</artifactId>

<version>3.3.0.Final-redhat-1</version>

<scope>provided</scope>

</dependency>

2. ロギングを追加する各クラスに対して、以下の手順を実行します。

a. 使用する JBoss Logging クラスネームスペースに対して import ステートメントを追加しま す。少なくとも、以下の import ステートメントが必要です。

b. org.jboss.logging.Logger のインスタンスを作成し、静的メソッド

Logger.getLogger(Class) を呼び出して初期化します。各クラスに対してこれを単一のイ ンスタンス変数として作成することが推奨されます。

3. ログメッセージを送信するコードの Logger オブジェクトメソッドを呼び出します。

Logger には、異なるタイプのメッセージに対して異なるパラメーターを持つさまざまなメソッ

ドがあります。以下のメソッドを使用して対応するログレベルのログメッセージと message パラメーターを文字列として送信します。

JBoss Logging メソッドの完全リストは、Logging API のドキュメンテーションを参照してく

ださい。

次の例では、プロパティーファイルからアプリケーションのカスタマイズされた設定がロードされま す。指定されたファイルが見つからない場合は、ERROR レベルログメッセージが記録されます。

: JBoss Logging

を用いたアプリケーションのロギング を用いたアプリケーションのロギング

import org.jboss.logging.Logger;

private static final Logger LOGGER = Logger.getLogger(HelloWorld.class);

LOGGER.debug("This is a debugging message.");

LOGGER.info("This is an informational message.");

LOGGER.error("Configuration file not found.");

LOGGER.trace("This is a trace message.");

LOGGER.fatal("A fatal error occurred.");

import org.jboss.logging.Logger;

public class LocalSystemConfig {

private static final Logger LOGGER = Logger.getLogger(LocalSystemConfig.class);

public Properties openCustomProperties(String configname) throws CustomConfigFileNotFoundException

{

Properties props = new Properties();

try {

LOGGER.info("Loading custom configuration from "+configname);

props.load(new FileInputStream(configname));

}

catch(IOException e) //catch exception in case properties file does not exist {

LOGGER.error("Custom configuration file ("+configname+") not found. Using defaults.");

throw new CustomConfigFileNotFoundException(configname);

}

return props;

} }