6.2.4. 国際化されたログメッセージのカスタマイズ
6.2.4.1. ログメッセージへのメッセージ ID とプロジェクトコードの追加
このタスクでは、JBossLoggingTools を使用して作成された国際化されたログメッセージにメッセージ ID とプロジェクトコードを追加する方法を示します。ログメッセージがログで表示されるようにするには、プロジェクトコードとメッセージ ID の両方が必要です。メッセージにプロジェクトコードとメッセージ ID の両方がない場合は、どちらも表示されません。
完全な例については、
logging-tools
クイックスタートを参照してください。
前提条件
- 国際化されたログメッセージが含まれるプロジェクトが存在する必要があります。「国際化されたログメッセージの作成」 を参照してください。
- 使用するプロジェクトコードを知っている必要があります。プロジェクトコードを 1 つ使用することも、各インターフェースに異なる複数のコードを定義することも可能です。
手順6.6 ログメッセージへのメッセージ ID とプロジェクトコードの追加
インターフェイスのプロジェクトコードを指定します。
の projectCode 属性を使用してプロジェクトコードを指定します@MessageLogger
カスタムロガーインターフェイスに付加された注釈。インターフェースに定義されるすべてのメッセージがこのプロジェクトコードを使用します。@MessageLogger(projectCode="ACCNTS") interface AccountsLogger extends BasicLogger { }
メッセージ 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.