6.2.2. 国際化されたロガー、メッセージ、例外の作成
6.2.2.1. 国際化されたログメッセージの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このタスクでは、JBoss Logging Tools を使用して、MessageLogger インターフェイスを作成することにより国際化されたログメッセージを作成する方法を示します。すべてのオプション機能またはそれらのログメッセージのローカリゼーションを網羅しているわけではありません。
完全な例については、
logging-tools クイックスタートを参照してください。
要件:
- 作業用の Maven プロジェクトがすでに存在している必要があります。「JBoss Logging Tools の Maven 設定」 を参照してください。
- プロジェクトには、JBossLoggingTools に必要な Maven 設定が必要です。
手順6.1 国際化されたログメッセージバンドルを作成する
メッセージロガーインターフェイスを作成する
プロジェクトに Java インターフェイスを追加して、ログメッセージ定義を含めます。インターフェイスに定義されるログメッセージの説明的な名前を付けます。ログメッセージインターフェースの要件は次のとおりです。- 注釈を付ける必要があります
@org.jboss.logging.MessageLogger。 - 延長する必要があります
org.jboss.logging.BasicLogger。 - インターフェイスは、このインターフェイスを実装する型付きロガーであるフィールドを定義する必要があります。でこれを行う
getMessageLogger()の方法org.jboss.logging.Logger。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow メソッド定義を追加する
各ログメッセージのインターフェースにメソッド定義を追加します。ログメッセージの各メソッドにその内容を表す名前を付けます。各メソッドの要件は次のとおりです。- メソッドは返す必要があります
void。 - 注釈を付ける必要があります
@org.jboss.logging.LogMessage注釈。 - 注釈を付ける必要があります
@org.jboss.logging.Message注釈。 - の値属性
@org.jboss.logging.Messageデフォルトのログメッセージが含まれています。このメッセージは翻訳がない場合に使用されます。
@LogMessage @Message(value = "Customer query failed, Database not available.") void customerQueryFailDBClosed();
@LogMessage @Message(value = "Customer query failed, Database not available.") void customerQueryFailDBClosed();Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトのログレベルはINFOです。メソッドを呼び出します。
メッセージをログに記録する必要があるコードのインターフェイスメソッドへの呼び出しを追加します。インターフェースの実装を作成する必要はありません。これは、プロジェクトがコンパイルされる時にアノテーションプロセッサーにより行われます。AccountsLogger.LOGGER.customerQueryFailDBClosed();
AccountsLogger.LOGGER.customerQueryFailDBClosed();Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムロガーは BasicLogger からサブクラス化されているため、BasicLogger((debug()、error()など) も使用できます。国際化されていないメッセージをログに記録するために他のロガーを作成する必要はありません。AccountsLogger.LOGGER.error("Invalid query syntax.");AccountsLogger.LOGGER.error("Invalid query syntax.");Copy to Clipboard Copied! Toggle word wrap Toggle overflow
結果
プロジェクトで、現地語化できる 1 つ以上の国際化されたロガーがサポートされるようになります。