Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーション・ロギングのためのロギング・サービスの使用 11gリリース1 (10.3.6) B61615-05 |
|
![]() 前 |
![]() 次 |
以下の節では、国際化およびローカライゼーションに使用されるWebLogic Serverユーティリティに関する情報を記述します。
WebLogic Serverでは、以下の3つの国際化ユーティリティが用意されています。
weblogic.i18ngenユーティリティ: メッセージ・カタログのパーサー。このユーティリティは、ログ・メッセージ内のテキストのローカライズに使用されるクラスの検証および生成に使用します。詳細は、「weblogic.i18ngenユーティリティ」を参照してください。
weblogic.l10ngenユーティリティ: ロケール固有のメッセージ・カタログのパーサー。このユーティリティは、ロケール固有のカタログの処理に使用します。詳細は、「weblogic.l10ngenユーティリティ」を参照してください。
weblogic.GetMessageユーティリティ: 組み込まれているログ・メッセージのリストを生成するユーティリティ。このユーティリティは、組み込まれているログ・メッセージのリストの生成およびメッセージの表示に使用します。詳細は、「weblogic.GetMessageユーティリティ」を参照してください。
注意: カタログ定義のテキストでは読みやすいように書式設定文字(行末文字など)が使用される場合がありますが、それらの文字はパーサーでは維持されません。テキスト・データは、1行の文字列に標準化されます。先頭と末尾のホワイト・スペースはすべて削除されます。埋め込まれている行末文字は、単語の区切りを維持するために必要に応じてスペースに置き換えられます。タブはそのまま残されます。エスケープは、埋め込まれている改行( |
weblogic.i18ngen
ユーティリティを使用すると、メッセージ・カタログを検証し、ローカライズされたメッセージの生成に必要な実行時クラスを作成できます。weblogic.l10ngen
ユーティリティを使用すると、ロケール固有のカタログを検証し、カタログで定義された様々な異なるロケールで使用される追加のプロパティ・ファイルを作成できます。
WebLogic Serverで実行しているシンプル・テキスト・ベースのユーティリティは、それらのユーティリティでテキスト・データのアクセスにLocalizer
を使用するように指定することにより、国際化できます。weblogic.i18ngen
ユーティリティから生成されたLogger
およびTextFormatter
クラスを使用して、アプリケーションを構成します。
Logger
クラスおよびTextFormatter
クラスの詳細は、「付録C WebLogic Server用のTextFormatterクラスのリファレンス」および「D WebLogic Server用のLoggerクラスのリファレンス」を参照しください。
生成されたLogger
クラスは、英語のテキストをログに書き込む従来の方法にかわるログ記録の手段として使用されます。たとえば、weblogic.i18ngen
では、カタログxyz.xml
に対して適切なパッケージにクラスxyzLogger
が生成されます。また、MyUtilLog.xml
カタログでは、クラスprograms.utils.MyUtilLogger.class
が生成されます。カタログで定義されているログ・メッセージごとに、このクラスではmethod
属性で定義されているとおりに静的なパブリック・メソッドが格納されます。
TextFormatter
クラスは、シンプル・メッセージ・カタログごとに生成されます。これらのクラスには、カタログのローカライズおよびフォーマットされたテキストにアクセスするために使用するメソッドがあります。このクラスは、メッセージ本文、プレースホルダー、およびMessageFormat
とのインタフェースを処理するコンビニエンス・クラスです。フォーマット用メソッドは、各メッセージ定義のmethod属性により指定します。たとえば、あるカタログのメッセージ定義に属性method=getErrorNumber(int err)
が指定されている場合、例7-1
に示されているTextFormatterクラスが生成されます。
例7-1 TextFormatterクラスの例
package my.text; public class xyzTextFormatter { . . . public String getErrorNumber(int err) { . . . } }
例7-2は、getErrorNumber
メソッドのコードでの使用例を示します。
weblogic.i18ngen
ユーティリティを使用すると、メッセージ・カタログ(XMLファイル)を解析し、ログ・メッセージのテキストをローカライズするためのLogger
クラスおよびTextFormatter
クラスを生成できます。このユーティリティでは、次のプロパティ・ファイル(メッセージIDのルックアップ・クラス・ハッシュ表weblogic.i18n.L10nLookup
のロードに使用)が作成、または更新されます。
targetdirectory\i18n_user.properties
エラーや警告などのメッセージはすべてstderr
に送信されます。
ユーザー・カタログが認識されるように、i18n_user.properties
ファイルはWebLogicクラスパスで識別されたディレクトリに置く必要があります。
例: targetdirectory
\i18n_user.properties
i18n_user.properties
ファイルは、サーバー・クラスパスに置くようにお薦めします。i18n_user.properties
ファイルがtargetdirectory
にある場合は、targetdirectory
がサーバー・クラスパスにある必要があります。
java weblogic.i18ngen [options] [filelist]
注意: ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンド行で指定される場合、ファイル・パスはカレント・ディレクトリに対する相対パスになります。 |
オプション | 定義 |
---|---|
|
必要なすべてのファイルを生成し、コンパイルします。
|
-d targetdirectory
|
生成されたJavaソース・ファイルの宛先となるルート・ディレクトリを指定します。ユーザー・カタログ・プロパティは、指定されたターゲット・ディレクトリの相対パスにある i18n_user.properties に配置されます。ファイルは、メッセージ・カタログのi18n_package 値およびl10n_package 値に基づいて適切なディレクトリに配置されます。デフォルトのターゲット・ディレクトリは現在のディレクトリです。このディレクトリは必要に応じて作成されます。
この引数が省略された場合は、メッセージ・カタログに指定されたクラス階層に関係なく、すべてのクラスがカレント・ディレクトリに生成されます。 |
|
解析し、有効性を検証しますが、クラスは生成しません。 |
|
生成されたJavaソース(クラス・ファイルと同じディレクトリに存在)を保持します。 |
|
エラーを無視します。 |
|
インターナショナライザ(Loggers 、TextFormatters など)を生成します。
|
|
localizers (LogLocalizers 、TextLocalizers など)を生成します。
|
|
現在のCLASSPATHを使用して生成されたJavaファイルをコンパイルします。生成されたクラスは、-d オプションで識別されるディレクトリに配置されます。生成されたクラスは、ソースと同じディレクトリに配置されます。
通常は、コンパイルの途中でエラーが検出されると、クラス・ファイルやプロパティ・ファイルが作成されません。 |
|
解析と有効性の検証のみを実行します。 |
|
デバッグ・モード。 |
|
weblogic.i18ngen に、カタログ内のメッセージ・タイムスタンプを更新させます。カタログが書込み可能でタイムスタンプが更新された場合、カタログは上書きされます。 |
filelist
|
このファイル・リストのファイルとディレクトリを処理します。ディレクトリが指定されている場合は、そのディレクトリのすべてのXMLファイルが処理されます。すべてのファイルの名前には、XMLの接尾辞が付いている必要があります。すべてのファイルはmsgcat.dtd 構文に準拠している必要があります。weblogic.i18ngen は、実際に生成されたファイルに対して、完全修飾名リスト(Javaソース)をstdout ログに出力します。 |
weblogic.l10ngen
ユーティリティは、ファイル・リストで指定されたメッセージ・カタログをローカライゼーションするためのプロパティ・リソースを生成します。ファイル・リストでは、翻訳されたカタログではなく、最上位カタログが識別されます。
同様に、ターゲット・ディレクトリ(-d
オプション)は、デフォルトのローカライゼーションが置かれた同一のターゲット・ディレクトリを識別します。たとえば、デフォルト・カタログが$SRC\weblogic\msgcat
にあり、生成されたリソースを$CLASSESDIR
に置く場合、l10ngen
を適切に呼び出すコマンドは次のようになります。
java weblogic.l10ngen -d $CLASSESDIR $SRC\weblogic\msgcat
このコマンドでは、定義されたすべてのロケールに対するローカライズされたリソースが、weblogic\msgcat
サブディレクトリに生成されます。
java weblogic.l10ngen [options] [filelist]
注意: ユーティリティはどのディレクトリからでも実行できますが、ファイルがコマンド行で指定される場合、ファイル・パスはカレント・ディレクトリに対する相対パスになります。 |
オプション | 定義 |
---|---|
-d target
|
プロパティを配置するディレクトリ。デフォルトはカレント・ディレクトリ。 |
-language code
|
言語コード。デフォルトは、all です。 |
-country code
|
国コード。デフォルトは、all です。 |
-variant code
|
バリアント・コード。デフォルトは、all です。 |
filelist
|
プロパティ・ファイルを生成するメッセージ・カタログを指定します。メッセージ・エディタで作成される最上位のカタログを指定する必要があります。メッセージ・ローカライザで作成される特定ロケールのカタログは指定しません。通常は、i18ngen コマンドで指定したものと同じソース・ファイルまたはソース・ディレクトリ。 |
カタログ・サブディレクトリの名前は、小文字2文字のISO 639言語コード(日本語はja
、フランス語はfr
など)に基づいて付けられます。サポートされている言語コードは、java.util.Locale
javadocで確認できます。
言語コードのバリエーションは、言語コードの下位にある大文字2文字のISO 3166国コードとバリアントを使用するとできます。一般的な構文は、lang\country\variant
です。
たとえば、zh
は中国の言語コードです。CN
は簡体字中国語の国コードで、TW
は繁体字中国語の国コードです。このため、zh\CN
およびzh\TW
は中国語の異なる2つのロケールです。
バリアントは、特定のロケールを扱うプラットフォーム・ベンダーの機能に違いがある場合などに役立ちます。ベンダー・バリアントには、WIN、MAC、POSIXなどがあります。ロケールをさらに修飾するために2つのバリアントが使用される場合もあります。この場合、バリアントはアンダースコアで区切ります(Traditional_Mac
とModern_MAC
など)。
注意: 言語、国、およびバリアントは、すべて大文字/小文字が区別されます。 |
完全修飾ロケールはzh\TW\WIN
のようになり、Win32プラットフォームでの繁体字中国語を識別します。
上記のロケールをサポートするメッセージ・カタログには、次のファイルが含まれます。
\*.xml
- デフォルト・カタログ
\zh\*.xml
- 中国語ローカライゼーション
\zh\TW\*.xml
- 繁体字中国語ローカライゼーション
\zh\TW\WIN\*.xml
- Win32コード・セットに対する繁体字中国語ローカライゼーション
特定のローカライゼーションは、親ローカライゼーションで定義されたすべてのメッセージに対応する必要はありません。
すべてのロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。
java weblogic.l10ngen -d $CLASSESEDIR catalogdirectory
すべての繁体字中国語ロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。
java weblogic.l10ngen -d $CLASSESEDIR -language zh -country TW catalogdirectory
すべての中国語ロケールに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。
java weblogic.l10ngen -d $CLASSESEDIR -language zh catalogdirectory
すべてのロケールでJMSカタログに対するローカライゼーション・プロパティを生成するには、次のコマンドを実行します。
java weblogic.l10ngen -d $CLASSESEDIR catalogdirectory
注意: 例2は例3のサブセットです。すべての中国語(zh )には、任意の国指定(TW など)およびバリアントが含まれます。
|
weblogic.GetMessage
ユーティリティは、以前のバージョンのWebLogic Serverで提供されたCatInfo
ユーティリティにかわるユーティリティです。このユーティリティはメッセージ・コンテンツを表示しますが、インストールされたすべてのメッセージ、または一部のメッセージを一覧表示するためにも使用できます。デフォルト(オプションなし)では、weblogic.GetMessage
は使用方法を出力します。
注意: -verbose を除いて、すべてのオプションは1文字に短縮できます。 |
オプション | 定義 |
---|---|
-id nnnnnn
|
nnnnnn はメッセージIDを表します。
|
-subsystem identifier
|
サブシステムの識別子。-subsystem オプションでは指定されたサブシステムに一致するメッセージだけが出力されます。 |
|
詳細でないリストをリクエストし、メッセージのメッセージ本文のみ出力されます。デフォルトでは、重大度、サブシステム、メッセージ詳細、原因、およびアクション情報などの詳細なリストが出力されます。 |
|
詳細なリストをリクエストします。-verbose オプションを指定すると、パッケージ化、スタック・トレース・オプション、重大度、サブシステム、メッセージ詳細、原因、およびアクション情報も出力されます。 |
-lang code
|
使用する言語。たとえば、英語の場合はen です。 |
-country code
|
使用する国コード。たとえば、米国の場合はUS です。 |
-variant code
|
ロケールに対するバリアント識別子。 |
|
ヘルプ情報を提供します。 |
|
リタイアされたすべてのメッセージをリストします。リタイアされたメッセージは、このオプションを使用しないと表示されません。メッセージのサブシステムおよびIDのみリストされます。 |
引数を指定しないと、weblogic.GetMessage
は-help
が指定された場合と同様に、使用方法が出力されます。