ヘッダーや本文などの要求と応答のデータのログを残すことができると、デバッグ時に便利です。ログ設定を変更して、以下の情報のログを残すことができます。
Windows で作成されたログの方が、IBM i よりもより詳細なものであることに注意してください。これは、元となる IBM i のソフトウェア実装の制限によるものです。
ログ設定を変更するには、まずシステム・レベルの環境変数 (LANSA_XLIB_CONFIG) が構成ファイルのパスを指すように設定する必要があります。
LANSA システムに必要となるアクセス権がありさえすれば、構成ファイルはどこに配置しても構いません (また名前にも制限はありません)。
例えば、構成ファイル名を lansaxlib.config.json とし、これを Windows の一時ファイル・フォルダ (C:\Windows\Temp) や IBM i の /tmp に置くことができます。
次の構成データをファイルに配置します。
{
"Common":
{
"logOutputDir":"c:\Windows\Temp\lansaxlib_logs"
},
"HttpRequest":
{
"logging":
{
"requestHeaders": true,
"requestBody": true,
"responseHeaders": true,
"responseBody": true
}
}
}
構成ファイルには、出力ディレクトリ (ログが書き込まれる場所) と HTTP 要求コンポーネント用のログ設定を指定する必要があります。上の例では、HTTP 要求に対するログのオプションのすべてがオンになっています。
Windows と IBM i の両方とも、環境変数 LANSA_XLIB_CONFIG をシステム・レベルに設定する必要があります (Windows にはユーザー・レベルの環境変数、IBM i にはジョブ・レベルの環境変数があります。この環境変数をユーザー・レベルやジョブ・レベルに設定 しないでください )。環境変数の設定後、リスナーと Web サーバーを再起動します。
もしくは、RDML のコードを使って、環境変数を現在のプロセス (またはジョブ) のみに設定を変更することも可能です (この場合リスナー/Web サーバーの再起動は必要ありません)。
次のようなコードを使用します。
Define_Com Class(#XPRIM_OSUtil) Name(#OSUtil)
#OSUtil.SetEnvironmentVariable Name('LANSA_XLIB_CONFIG') Value('/tmp/lansaxlib.config.json')
環境変数と構成ファイルを正しく設定したら、構成ファイルに指定したディレクトリに作成された次のログを確認してください。
要求ごとに異なるフォルダにログが残されます (1 から順に番号が振られます)。