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つのファイルでログ運用を続けるとテキストファイル肥大化する | 小規模で完結する場合で、他のログも気にしない場合は、テキストファイルで問題ない |