![]() |
![]() |
|
|
| |
ローカライゼーションを考慮したコードのインスツルメント
この章では、以下のコード インスツルメンテーションについて説明します。
メッセージのロギング
次のサンプル コードは、Stuff.xml
というログ メッセージを示しています。
<?xml version="1.0"?>
<!DOCTYPE message_catalog SYSTEM "msgcat.dtd">
<message_catalog
i18n_package=weblogic.stuff
subsystem=STF
baseid="500000">
<logmessage
severity=warning
messageid=501234
method="logNoFile(String name)"
<messagebody>
Unable to open file, {0}
</messagebody>
<messagedetail>
The file, {0}, does not exist. In its absence default
values will be used and a new version of the file will
be created automatically.
</messagedetail>
<cause>
The file was deleted.
</cause>
<action>
If this error repeats then investigate unauthorized
access to the file system. Consider stiffening the
permissions on the file and directory.
</action>
</logmessage>
</message_catalog>
次のサンプル コードは、weblogic.stuff
パッケージでどのようにメッセージ 501234
がログに記録されるのかを示しています。
weblogic.stuff
パッケージのコードでは、次のようにメッセージ 501234 がログに記録されます。
package weblogic.stuff;
import weblogic.stuff.StuffLogger;
import java.io.FileInputStream;
. . .
try {
FileInputStream fis = new FileInputStream(myfile);
. . .
}
catch (FileNotFoundException fnfe) {
StuffLogger.logNoFile(myfile);
}
新規カタログの作成
カタログを作成するには、メッセージ エディタまたはテキスト エディタを使用してファイルを作成します。メッセージ エディタの使い方については、 BEA WebLogic Server インターナショナライゼーション ツールおよびユーティリティの使い方を参照してください。
カタログは XML ファイルであるため、そのフォーマットは msgcat.dtd
で指定された構文に準拠している必要があります。ログ メッセージのテンプレートは、logmessage_template
に用意されています。作成したカタログは、i18ngen
で処理する必要があります。詳細については、第 4 章「BEA WebLogic Server インターナショナライゼーション ツールおよびユーティリティの使い方」の「
新規カタログの作成」を参照してください。
新規カタログを作成するときには、以下の事項に注意する必要があります。
Msgids
ファイルでも指定します。
作成したカタログは、i18ngen
で処理する必要があります。詳細については、第 4 章「BEA WebLogic Server インターナショナライゼーション ツールおよびユーティリティの使い方」の「
新規カタログの作成」を参照してください。
管理を容易にするには、すべてのカタログを同じソース ディレクトリに配置します。
新規メッセージの作成
新しいメッセージの定義は、最後に定義されているメッセージよりも 1 つ大きいメッセージ ID を使用してカタログの最後に追加します。カタログ内でユニークな method
名を選択します。新しい ID には、Msgids
ファイルでそのカタログに指定されている範囲の ID を使用します。ID がすべて使用されている場合などで範囲内の ID を使用できない場合は、新しいカタログを作成するか、または endid
属性を使用して範囲を拡張する必要があります。
変更を行ったカタログは、i18ngen
で処理する必要があります。詳細については、第 4 章の「
新規ログ メッセージの入力」を参照してください。
メッセージの修正
通常、既存のメッセージでは、メッセージ本文、メッセージの詳細、原因、およびアクション以外のデータは変更しません。このような制限が必要なのは、他のフィールドで値を変更すると、そのフィールドのコードが正常に機能しなくなる恐れがあるからです(不正な数または型の引数を渡してしまうなど)。
カタログの修正が終わった後は、i18ngen
コマンドを実行してカタログを再処理します。
![]() |
![]() |
![]() |