5.2.4. 国際化されたログメッセージのカスタマイズ
5.2.4.1. ログメッセージへのメッセージ IDとプロジェクトコードの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このタスクではメッセージ ID とプロジェクトコードをログメッセージへ追加する方法を説明します。ログメッセージがログで表示されるようにするには、プロジェクトコードとメッセージ ID の両方が必要となります。メッセージにプロジェクトコードとメッセージ ID の両方がない場合、どちらも表示されません。
完全な例は
logging-tools-qs
クイックスタートを参照してください。
前提条件
- 国際化されたログメッセージを持つプロジェクトが存在する必要があります。「国際化されたログメッセージの作成」 を参照してください。
- 使用するプロジェクトコードを認識する必要があります。プロジェクトコードを 1 つ使用することも、各インターフェースに異なるコードを定義することも可能です。
手順5.6 メッセージ ID とプロジェクトコードをログメッセージに追加する
インターフェースのプロジェクトコードを指定します。
カスタムのロガーインターフェースに付けられる@MessageLogger
アノテーションの projectCode 属性を使用してプロジェクトコードを指定します。インターフェースに定義されるすべてのメッセージがこのプロジェクトコードを使用します。@MessageLogger(projectCode=“ACCNTS”) interface AccountsLogger extends BasicLogger { }
@MessageLogger(projectCode=“ACCNTS”) interface AccountsLogger extends BasicLogger { }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow メッセージ ID の指定
メッセージを定義するメソッドに付けられる @Message アノテーションの id 属性を使用して各メッセージに対してメッセージ ID を指定します。@LogMessage @Message(id=43, value = "Customer query failed, Database not available.") void customerQueryFailDBClosed();
@LogMessage @Message(id=43, value = "Customer query failed, Database not available.") void customerQueryFailDBClosed();
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
メッセージ ID とプロジェクトコードの両方が関連付けられたログメッセージは、メッセージ IDとプロジェクトコードをログに記録されたメッセージの前に付けます。
10:55:50,638 INFO [com.company.accounts.ejb] (MSC service thread 1-4) ACCNTS000043: Customer query failed, Database not available.
10:55:50,638 INFO [com.company.accounts.ejb] (MSC service thread 1-4) ACCNTS000043: Customer query failed, Database not available.