10.5 動作定義ファイル設定時の注意事項
動作定義ファイルは,次に示す内容に注意して設定してください。
-
サーバ定義ファイルで,サーバにデプロイしたSOAPアプリケーションのコンテキストルートから先頭の「/」を抜いた名称と,識別子が一致しない場合は,すべてデフォルト値で動作します。
-
トレースファイル出力の重要度の値にERROR,INFO,WARN,DEBUG以外の文字列を設定した場合はデフォルト値(WARN)が仮定されます。
-
トレースファイル出力の重要度の値はすべて大文字で設定してください。小文字が混在した場合は,その文字列は無効となり,デフォルト値(WARN)が仮定されます。
-
トレースファイルの面数,トレースファイルのサイズに範囲外の値を設定した場合は,それぞれデフォルト値が仮定されます。
-
トレース出力先ディレクトリ名およびトレースファイルのプレフィクスの最大長は,トレースファイル名を生成したときの,実行するプラットフォーム上のファイル名の最大長に依存します。実行するプラットフォーム上のファイル名の最大長を超えた場合はトレースが出力されません。
-
トレースファイル名およびアプリケーションログファイル名の形式は次のようになります。
- トレースファイル名の形式
-
<トレースファイルのプレフィクス>-j2ee-<J2EEサーバのサーバ名>-<トレースファイル面数>.log
- アプリケーションログファイル名の形式
-
<トレースファイルのプレフィクス>-j2ee-<J2EEサーバのサーバ名>-aplog-<トレースファイル面数>.log
単体Javaアプリケーションとして動作させる場合,"-j2ee-<J2EEサーバのサーバ名>"は付与されません。
-
トレースファイルとアプリケーションログでは,ファイル名に付けられる面数の順序が異なるので注意してください。
- トレースファイルの面数
-
トレースファイルの面数は,トレースの出力時刻に従って「1,2,3・・・」という順で生成されます。動作定義ファイル中のトレースファイル面数を超えた場合は,再度1から生成されます。
- アプリケーションログの面数
-
アプリケーションログは,面数が0のものが,いちばん新しいファイルになります(面数が最も大きいものが,いちばん古いファイルとなります)。
-
サーバの動作開始時にサーバ定義ファイル(c4websv.cfg)とクライアント定義ファイル(c4webcl.properties)の両方が存在する場合は,サーバ定義ファイル(c4websv.cfg)の設定が有効となります。サーバ定義ファイル(c4websv.cfg)が存在しない場合は,デフォルト値が仮定されます。
-
クライアントの動作開始時にサーバ定義ファイル(c4websv.cfg)とクライアント定義ファイル(c4webcl.properties)の両方が存在する場合は,クライアント定義ファイル(c4webcl.properties)の設定が有効となります。クライアント定義ファイル(c4webcl.properties)が存在しない場合は,デフォルト値が仮定されます。
-
trueおよびfalseを設定する場合はすべて小文字で設定してください。大文字または異なる文字列で設定した場合はデフォルト値が仮定されます。
-
クライアントを同じマシン上で複数動作させる場合で,同じ内容のクライアント定義ファイル(c4webcl.properties)がそれぞれのクライアント実行時クラスパス上に存在するときは,トレースが同じファイルに書き込まれてしまうためトレースが正常に出力されません。トレースファイル出力の排他制御待ちや,トレースファイル中のデータが解析できなくなる現象が発生するおそれがあります。
-
クライアントを同じマシン上で複数動作させる場合でトレースファイルのプレフィクスを省略したとき,すべてのクライアントのトレースが同じファイルに出力され,トレースの内容が不正確になります。トレースファイル出力の排他制御待ちや,トレースファイル中のデータが解析できなくなる現象が発生するおそれがあります。
-
動作定義ファイル中では「\」は特殊文字として扱われるため,Windowsの場合にディレクトリ名のパスの区切り文字に「\」を使用するときは,「\\」のように連続して設定してください。
-
複数のSOAPサービスを利用する場合,Webアプリケーションのコンテキストパス名をそれぞれ異なる名称にしてください。異なる名称にしない場合,トレース出力先が重複します。そのため,複数のSOAPサービスのトレースが同じファイルに出力されます。
- コンテキストパスとは
-
コンテキストパスとは,コンテキスト内のWebアプリケーションにアクセスするときにURL上に指定するパスのことです。例えば,接続先URLが「http://localhost:8080/WebApp1/services/UserInfo」の場合,コンテキストパスは,「/WebApp1/services/UserInfo」となります。
- 同一のコンテキストパスを使用する場合
-
同一のコンテキストパスを使用する場合は,トレースファイル面数,トレースファイルサイズを必要に応じて大きい値にして,障害発生時に必要な情報が削除されてしまわないよう注意してください。
-
サーバ定義ファイルのトレースファイル,アプリケーションログのプレフィクスを省略した場合,識別子をデフォルト値として使用しますが,SOAPアプリケーションのコンテキストルートの文字列に「$」,「%」,「+」,「/」が含まれる場合,トレースファイル,アプリケーションログのファイル名プレフィクスは次のように置換されます。
コンテキストルートに含まれる文字
ファイル名中の文字
$
$24
%
$25
+
$2b
/
$2f
例えば,接続先URLが「http://localhost:8080/WebApp1/Service1/services/UserInfo」の場合,トレースファイル,アプリケーションログのファイル名プレフィクスは「WebApp1$2fService1-j2ee-<J2EEサーバのサーバ名>-<トレースファイル面数>.log」および「WebApp1$2fService1-j2ee-<J2EEサーバのサーバ名>-aplog-<トレースファイル面数>.log」となります。
なお,上記の文字に置換されたファイルをWindows以外のOS上で操作する場合,ファイル名を指定するときに,シングルクォーテーション「'」で囲む必要があります。
-
複数のクライアントでクライアント定義ファイルを設定する場合,「log_file_prefix」には,同じ値を設定しないでください。
-
サーバから別のSOAPアプリケーションを呼び出すような場合(サーバが別のサーバに対するクライアントとなる場合),サーバトレース中にクライアントのトレースが出力されます。この場合,トレースの内容がラップアラウンドによって上書きされる頻度が高いため,サーバ定義ファイルのトレースファイル面数,およびトレースファイルサイズに十分大きい値を指定してください。
-
SOAPサービスを利用するクライアントを同じマシン上で複数動作させる場合,クライアント定義ファイルのトレースファイル,アプリケーションログのプレフィクス(log_file_prefix)は,クライアントごとに異なる値を設定してください。同じ値を設定すると,実行時オプションの指定による制御が正しく行われません。その他の設定(重要度,面数,ファイルサイズ)については,すべてのクライアントが同じ設定で動作します。
-
パスワードを設定する場合,動作定義ファイルの読み取り権限を限定するなど,第三者にパスワードを読み取られないように注意してください。