Oracle® Fusion Middleware Oracle WebLogic Server アプリケーション ロギングのロギング サービス ユーザーズ ガイド 11g リリース 1 (10.3.1) E13704-01 |
|
戻る |
次へ |
以下の節では、インターナショナライゼーションおよびローカライゼーションに使用される 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
クラスは、シンプル メッセージ カタログごとに生成されます。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
が指定された場合と同様に、使用方法が出力されます。