5.2.4. 国際化されたログメッセージのカスタマイズ

5.2.4.1. ログメッセージへのメッセージ IDとプロジェクトコードの追加

このタスクではメッセージ ID とプロジェクトコードをログメッセージへ追加する方法を説明します。ログメッセージがログで表示されるようにするには、プロジェクトコードとメッセージ ID の両方が必要となります。メッセージにプロジェクトコードとメッセージ ID の両方がない場合、どちらも表示されません。
完全な例は logging-tools-qs クイックスタートを参照してください。

前提条件

  1. 国際化されたログメッセージを持つプロジェクトが存在する必要があります。「国際化されたログメッセージの作成」 を参照してください。
  2. 使用するプロジェクトコードを認識する必要があります。プロジェクトコードを 1 つ使用することも、各インターフェースに異なるコードを定義することも可能です。

手順5.6 メッセージ ID とプロジェクトコードをログメッセージに追加する

  1. インターフェースのプロジェクトコードを指定します。

    カスタムのロガーインターフェースに付けられる @MessageLogger アノテーションの projectCode 属性を使用してプロジェクトコードを指定します。インターフェースに定義されるすべてのメッセージがこのプロジェクトコードを使用します。
    @MessageLogger(projectCode=“ACCNTS”)
    interface AccountsLogger extends BasicLogger
    {
    
    }
  2. メッセージ ID の指定

    メッセージを定義するメソッドに付けられる @Message アノテーションの id 属性を使用して各メッセージに対してメッセージ ID を指定します。
    @LogMessage
    @Message(id=43, value = "Customer query failed, Database not available.")  void customerQueryFailDBClosed();
メッセージ ID とプロジェクトコードの両方が関連付けられたログメッセージは、メッセージ IDとプロジェクトコードをログに記録されたメッセージの前に付けます。
10:55:50,638 INFO  [com.company.accounts.ejb] (MSC service thread 1-4) ACCNTS000043: Customer query failed, Database not available.