6.2. JBoss Logging Tools
6.2.1. 概要
6.2.1.1. JBoss Logging Tools の国際化および現地語化
JBoss Logging Tools は、ログメッセージ、例外メッセージ、および汎用文字列の国際化や現地語化のサポートを提供する Java API です。JBoss Logging Tools は翻訳のメカニズムを提供するだけでなく、各ログメッセージに対して一意な識別子のサポートも提供します。
国際化されたメッセージと例外は、を使用して注釈が付けられたインターフェイス内のメソッド定義として作成されます
org.jboss.logging
注釈。インターフェイスを実装する必要はありません。JBossLoggingTools はコンパイル時にこれを実行します。定義すると、これらのメソッドを使用してコードでメッセージをログに記録したり、例外オブジェクトを取得したりできます。
JBoss Logging Tools によって作成される国際化されたロギングインターフェースや例外インターフェースは、特定の言語や地域に対する翻訳が含まれる各バンドルのプロパティーファイルを作成して現地語化されます。JBoss Logging Tools は、トランスレーターが編集できる各バンドル対してテンプレートプロパティーファイルを生成できます。
JBoss Logging Tools は、プロジェクトの対象翻訳プロパティーファイルごとに各バンドルの実装を作成します。必要なのはバンドルに定義されているメソッドを使用することのみで、JBoss Logging Tools は現在の地域設定に対して正しい実装が呼び出されるようにします。
メッセージ id とプロジェクトコードは各ログメッセージの前に付けられる一意の識別子です。この一意の識別子をドキュメントで使用すると、ログメッセージの情報を簡単に検索することができます。適切なドキュメントでは、メッセージが書かれた言語に関係なく、ログメッセージの意味を識別子から判断できます。
6.2.1.2. JBossLoggingTools クイックスタート
JBoss Logging Tools のクイックスタートである
logging-tools
には、JBossLoggingTools の機能を示す単純な Maven プロジェクトが含まれています。このドキュメントでは、コードサンプルとして広く使用されています。
このドキュメントで説明されているすべての機能の完全に機能するデモンストレーションについては、このクイックスタートを参照してください。
6.2.1.3. メッセージロガー
メッセージロガーは、国際化されたログメッセージを定義するために使用されるインターフェイスです。メッセージロガーインターフェイスには、
@org.jboss.logging.MessageLogger
。
6.2.1.4. メッセージバンドル
メッセージバンドルは、国際化されたメッセージを使用して、一般的な翻訳可能なメッセージと例外オブジェクトを定義するために使用できるインターフェイスです。メッセージバンドルは、ログメッセージの作成には使用されません。
メッセージバンドルインターフェイスには、
@org.jboss.logging.MessageBundle
。
6.2.1.5. 国際化されたログメッセージ
国際化されたログメッセージは、メッセージロガーでメソッドを定義することによって作成されたログメッセージです。メソッドには注釈を付ける必要があります
@LogMessage
と@Message
注釈を付け、の value 属性を使用してログメッセージを指定します@Message
。国際化されたログメッセージはプロパティーファイルで翻訳を提供することによりローカライズされます。
JBoss Logging Tools はコンパイル時に各翻訳に必要なロギングクラスを生成し、ランタイム時に現ロケールに対して適切なメソッドを呼び出します。
6.2.1.6. 国際化された例外
国際化された例外は、message bundle. で定義されたメソッドから返された例外オブジェクトです。Java Exception オブジェクトを返すメッセージバンドルメソッドに注釈を付けて、デフォルトの例外メッセージを定義できます。デフォルトのメッセージは、現在のロケールと一致するプロパティーファイルに翻訳がある場合にその翻訳に置き換えられます。国際化された例外にも、プロジェクトコードとメッセージ id を割り当てることができます。
6.2.1.7. 国際化されたメッセージ
国際化されたメッセージは、message bundle で定義されたメソッドから返された文字列です。Java String オブジェクトを返すメッセージバンドルメソッドは、その文字列のデフォルトの内容 (メッセージと呼ばれます) を定義するためにアノテーションを付けることができます。デフォルトのメッセージは、現在のロケールと一致するプロパティーファイルに翻訳がある場合にその翻訳に置き換えられます。
6.2.1.8. 翻訳プロパティーファイル
翻訳プロパティーファイルは、1 つのロケール、国、バリアントに対する 1 つのインターフェースのメッセージの翻訳が含まれる Java プロパティーファイルです。翻訳プロパティーファイルは、メッセージを返すクラスを生成するために JBoss Logging Tools によって使用されます。
6.2.1.9. JBoss Logging Tools のプロジェクトコード
プロジェクトコードはメッセージのグループを識別する文字列です。プロジェクトコードは各ログメッセージの最初に表示され、メッセージ Id の前に付けられます。プロジェクトコードは、
projectCode
の属性@MessageLogger
注釈。
6.2.1.10. JBoss Logging Tools のメッセージ ID
メッセージ ID はプロジェクトコードと組み合わせてログメッセージを一意に識別する数字です。メッセージ ID は各ログメッセージの最初に表示され、メッセージのプロジェクトコードの後に付けられます。メッセージ ID は、
id
の属性@Message
注釈。