Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

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

アプリケーションからのメッセージをログに記録するには、Logger オブジェクトを作成します (org.jboss.logging.Logger) そしてそのオブジェクトの適切なメソッドを呼び出します。このタスクでは、これに対するサポートをアプリケーションに追加するために必要な手順について説明します。

前提条件

  • ビルドシステムとして Maven を使用している場合は、JBossMaven リポジトリーを含めるようにプロジェクトを設定する必要があります。「Maven 設定を使用した JBoss EAP 6 Maven リポジトリーの設定」 を参照してください。
  • JBoss Logging JAR ファイルがアプリケーションのビルドパスに指定されている必要があります。これを行う方法は、Red Hat JBossDeveloperStudio を使用してアプリケーションをビルドするか Maven を使用してアプリケーションをビルドするかによって異なります。
    • Red Hat JBoss Developer Studio を使用してビルドする場合は、プロジェクト メニューから プロパティー を選択し、ターゲット ランタイムを選択して、JBoss EAP 6 のランタイムがチェックされていることを確認します。
    • Maven を使用してビルドする場合は、次の依存関係設定をプロジェクトの pom.xml ファイルに追加します。
      <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>jboss-logging</artifactId>
         <version>3.1.2.GA-redhat-1</version>
         <scope>provided</scope>
      </dependency>
    JAR は、JBoss EAP 6 がデプロイされたアプリケーションに提供するため、ビルドされたアプリケーションに含める必要はありません。

手順5.1 アプリケーションにロギングを追加する

ロギングを追加するクラスごとに、次の手順を実行します。
  1. インポートを追加

    使用する JBoss Logging クラスネームスペースに対して import ステートメントを追加します。少なくとも、インポートする必要がありますimport org.jboss.logging.Logger
    import org.jboss.logging.Logger;
  2. Logger オブジェクトを作成します

    のインスタンスを作成しますorg.jboss.logging.Logger静的メソッドを呼び出して初期化しますLogger.getLogger(Class)。Red Hat は、これをクラスごとに単一のインスタンス変数として作成することをお勧めします。
    private static final Logger LOGGER = Logger.getLogger(HelloWorld.class);
  3. ロギングメッセージを追加する

    のメソッドへの呼び出しを追加しますLoggerログメッセージを送信するコードに反対します。Logger オブジェクトには、異なるタイプのメッセージに対して異なるパラメーターを持つさまざまなメソッドがあります。最も使いやすいのは次のとおりです。
    debug(Object message)
    info(Object message)
    error(Object message)
    trace(Object message)
    fatal(Object message)
    これらのメソッドは、対応するログレベルとmessage文字列としてのパラメーター。
    LOGGER.error("Configuration file not found.");
    JBoss Logging メソッドの完全なリストについては、以下を参照してください。org.jboss.loggingJBoss EAP 6 ドキュメントのパッケージ。

例5.1 プロパティーファイルを開くときに JBossLogging を使用する

この例は、プロパティーファイルからアプリケーションのカスタマイズされた設定をロードするクラスからのコードの抽出を示しています。指定されたファイルが見つからない場合は、ERROR レベルログメッセージが記録されます。
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;
   }