15

タイトルのとおり、WinActorでログを取得する方法をまとめてみました。
マニュアルに記載してある方法のおさらいから、ライブラリを組み合わせた小ワザまで4パターン記載しています。

ほかにもこんな方法があるよ、というのがあれば、コメントや回答で補足していただけるとうれしいです。

①WinActorのログ出力画面を開き、ログ保存ボタンを押下する
 →マニュアルにも記載があり、一番わかりやすい方法ではありますが、手動でないと実行できないため、
  保存を忘れるリスクがあるのと、タスクスケジューラで夜間などに実行しているときにできないところがネックです。

 
②WinActorのオプション>実行タブ>実行ログを常に出力するにチェックし、実行ログを自動的に出力する
 →これもマニュアルに記載されている方法ですね。
  このログ出力機能はログファイルのパスが固定になるため、
  ログをリネーム・移動しないと同じファイルにログを蓄積し続けてログファイルが非常に大きくなってしまいます。
  その場合、メモリ使用量の増加や必要なログの検索が難しくなるリスクがあるので
  手動もしくは別途タスクスケジューラとBatchなどを組み合わせて
  ログファイルを定期的にリネームする必要があります。
   (WinActor起動中はログファイルが使用中のためリネームできないので、
    WinActor以外の方法でリネームする必要があります)

③ライブラリを使用してシナリオ内の特定の箇所、任意の文言でログ出力する
 →上記の2つの方法はWinActorのログ機能を使用しているため、
  ログの出力箇所や出力内容ををユーザが自由に変更することはできません
  ログの出力箇所や出力内容を指定してログをとる場合、
  「13_ファイル関連」>「01_テキストファイル操作」>「ログ記録」などのライブラリが便利です。
  こちらのライブラリはログ保存先のファイルパスやログ保存内容も変数で持たせることができるため、
  個別で設定する手間はかかりますが、作業日ごとなどでログファイル名を分けたり、
  欲しい情報だけをログとして出力することができます。

   ログ記録(ラベル付き)の使用例です。書き込みパスやラベル、書き込み内容を変数で設定できるため、
   必要な情報だけを取得することができます。

④変数の現在値をログとして保管する
 →エラーが起きた場合など、例外処理の異常系で変数の現在値をログとして保管したい、
  というケースがあるかと思います。
  そんなときに便利なライブラリが「01_WinActor制御」>「07_デバッグ」>「デバッグ:変数値保存」です。
  このライブラリはファイルパスを指定するだけで変数の現在値を一括保存保存できます。
  ただ、このライブラリは変数一覧でコメントに「secret」と入れて値を伏字にしてある場合でも、
  現在値が平文で出力されてしまいます。
  そのため、パスワードなどファイルに出力したくない情報が含まれている変数を含むシナリオでは
  このライブラリの前にノード「変数値設定」などで変数の現在値をクリアしておくなど、
  利用の際は注意が必要になります。

   変数「ユーザーID」の初期値に「ユーザーID」、変数「パスワード」の初期値に「パスワード」と設定し、
   変数のコメントに「secret」と入力した状態で「デバッグ:変数値保存」を実行したときの例です。
   変数一覧画面ではコメントに「secret」と入力した変数はマスクがかかるものの、
   「デバッグ:変数値保存」を実行するとマスクがない状態で出力されてしまいます。

   変数値設定で変数「ユーザ-ID」と「パスワード」に空文字を設定した後で「デバッグ:変数値保存」を行った例です。
   ログとして出力したくない変数がある場合は、このようにシナリオ作成することで変数値に吐き出させないことも可能です。

以上、ここまでお読みいただきありがとうございました。

フォーラム運営チーム 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。