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