WinActor でWindowsログに記録する

WinActorで実行ログを記録する場合はどうされていますか?「WinActor ログ」で検索すると、テキストファイルに記録して行くのが主流のようですね。

個人的には、テキストファイルがものすごく肥大化した場合は?とか、日付ごとなの?ログローテートどうするの?とか、ファイルが壊れたとか時は?とか、いろいろと考えてしまいます。(独自実装の場合の話です。)

Windows ログ(Application ログ)に記録出来ないのかなあと思ったら、普通に標準のライブラリにありましたので自分メモ用に残しておきます。

確認環境

相変わらずのWinActor 6.3で確認しました。早く7系にしないとだめですね。

ログの保存設定 ※追記

とりあえず普通に[設定] – [オプション]で実行ログの保存設定をしておけば良いですね。

[ファイルサイズで分割]を選択すると、サイズが選べます。

とりあえず[シナリオ実行毎に分割]にしておきます。パスは適当です。

シナリオを実行すると、以下のようにログが作成されました。

これは適当に作ったシナリオですが、画面キャプチャでエラーが発生しています。

画面発生時に画面をキャプチャして送りつけるというような流れを作ろうとしたら、画面キャプチャがうまく動作しませんでした(原因は調査中です)

確認した様子

ここからが本題の「イベントログに登録」という話になります。

イベントログ登録(エラー)

「ライブラリ」-「OS関連」-「イベントログ登録(エラー)」のライブラリとなります。

シナリオ作成

では実際にシナリオで動作を確認していきます。このような簡単な流れです。

変数値を設定します。

「イベントログ登録(エラー)」で変数を指定します

このようになりました

スクリプトタグで中身を覗いてみます。ああ。なるほど。簡単ですね。という事がわかります。

シナリオを実行します

イベントビューアーを開いておきましょう

Applicationログを開きます

シナリオを実行すると、エラー、ソース:WSH、「hello wild」が記録されました。OKですね。

エラー以外のレベルも確認します

1,!情報! となっている箇所を、2,!情報! に変更しました。

無事、警告で「hello wild」が出力されました。情報のレベルも試してみます。

はい。無事に情報として記録されました。

syslog送信

他に何か無いかなあと探したら、syslog送信もありました。なるほど。

まとめ

という事で、Windowsログ、syslogに記録できる事が分かりました。テキストファイルに記録する部分については、プチライブラリなどをご確認ください。

小規模や、お手軽にRPA運用をする場合はテキストファイルで問題はなさそうですが、ある程度PCがあるところ、イベントログ監視系の製品や運用をされているところは、WindowsログやSyslogも検討した方が良さそうだなあと思いました。

いや、こんなの実行ログで使うの間違っているよ。というご意見などもあれば、ぜひ教えて頂けると嬉しいです。

方式内容メリットデメリット利用シーン
イベントログに記録Windows ログのApplicationログに記録される・1箇所に集約
・イベントビューアーで見れる
・障害など、他のイベントも合わせて確認が出来る
Windowsログに慣れていない人には少しハードルがある・情報シス担当者がいるようなところ
・ITの外部人材にサポートをお願いしているようなところ
Syslog送信Syslogサーバに送信し記録するPCが壊れてもログが残るSyslogサーバが必要・システムの統合監視を行なっているところ
テキストファイルに記録どこかの場所のどこかのテキストファイルに記録していくテキストファイルで完結している
各自でログファイルを実装できる
ログ確認時、他のログを確認できない
ログ記録部分がシナリオ毎に独自実装になり、記録がバラバラになる
1つのファイルでログ運用を続けるとテキストファイル肥大化する
小規模で完結する場合で、他のログも気にしない場合は、テキストファイルで問題ない