RPAでロボットを運用している中でエラーが発生して動かなくなったが、エラー箇所とエラー原因を特定するのに時間がかかっていませんか?
「ログ」を適切に設定することによりエラーの発生箇所と原因を把握しやすくすることができます。
今回は具体的にどのように設定すれば、より効果的にログを活用できるかについてご紹介します。
ログ出力の目的
出力されたログでトラブルシューティングを行いましょう!
ログは様々な場面で使用できるため、使用目的も「監査」、「履歴の管理」、「トラブルシューティング」など多岐にわたります。中でも開発者としては「トラブルシューティング」でログを確認することが多いです。
ログは「いつ」「どこで」「何が」エラーになったのか、「エラーの原因(内容)は何か」を出力することにより、エラーの早期解決につながります。
よって、RPAでログを適切に設定しておくと、発生したエラーに対して迅速に対応することができます。
次の章ではRPAのトラブルシューティングに使用するログの種類をご紹介いたします。
ロボット内で設定する出力ログの種類
トラブルシューティングのRPAのログの種類と使う場面を理解しよう!
ロボット内で設定する出力ログは大きく分けて「プロセスログ」と「エラーログ」の2種類になります。
それぞれどのような違いがあるのか、ご紹介いたします。
プロセスログ
プロセスログとは、ロボットがいつ、どこまで進んだかを記録するログです。
監査ログなどと呼称することがあり、ロボットの実行の状態を確認することを目的として使用します。
エラーログ
エラーログとは、ロボットがどこで何が原因でエラーになったか確認するためのログです。
RPAのエラーハンドリングの機能内に設定することが多く、エラーが発生したときのみ記録します。
では具体的にどのように「プロセスログ」と「エラーログ」を設定するか、次の項目で紹介します。
ログ出力の設定方法
プロセスログは処理手順ごとに設定し、エラーログはエラーハンドリングの一環として設定しよう!
ログ出力の設定は、基本的にロボットの中で行います。
プロセスログは必要な箇所に挿入します。
エラーログはエラーハンドリングの機能でエラーをキャッチする箇所で取得します。
今回はログ出力の詳細設定を、Automation Anywhereの社のAutomation 360を例にして紹介します。
プロセスログの出力方法
プロセスログは処理の進捗を確認することを目的としているため、処理手順の「前」と「後」に入れることが最も効果的です。前後に入れることによって、各処理が始まったのか、処理途中なのか、終了されたのかを確認することができます。特に繰り返し処理や、条件分岐処理では、現在どこまで処理されているかを判断するためにもログ出力の処理を入れる必要があります。
処理手順単位に入れると言われても、どこまで1処理手順なのかを判断するのは人によって変わるので、決めるのが難しいと感じる方もいるかと思います。弊社が推奨したプロセスログの挿入箇所をご紹介いたしますので、ぜひご参考ください。
- 設計書の処理ステップ単位
設計書と合わせて単位を決めることによって、処理ステップ=処理プロセスになりますので、ログの挿入場所がバラバラになることを防げます。
(下記プロセスログ設定位置サンプル画面の緑枠) - 分岐条件に入った直後と終了直前
どの分岐に入ったのかがわかるように、分岐に入った直後に「開始」を設定し、分岐の最後まで処理できているのかを確認するために、処理の最後に「終了」を設定します。
(下記プロセスログ設定位置サンプル画面の赤枠) - 繰り返し処理に入った直後と終了直前
繰り返しの条件に満たして正しい回数を処理されているのかを確認するために、繰り返し処理に入った直後に「開始」を挿入し、中断箇所または処理の最後に「終了」を挿入することがお勧めです。
(下記プロセスログ設定位置サンプル画面の青枠)
※シナリオが長くなる場合は開始を省略し、終了のみ設定するのも効果的です。
<Automation 360のプロセスログ設定位置サンプル画面>
<Automation 360のプロセスログの設定詳細画面>
ログの内容として、時間スタンプ、ロボット名、処理内容、開始/終了を設定します。
エラーログの出力方法
エラーログはエラーが発生する時のみ必要となるため、各種RPAのエラーハンドリング機能で、エラーをキャッチする枠内に設定します。一般的には、エラーをキャッチする箇所でエラーが発生するアクションの行番号/アクションIDとエラーの発生原因をロボット内で取得されますので、それらをエラーログとして記録します。
<Automation 360のエラーログ設定のサンプル画面>
※Automation 360の仕様として、エラーハンドラーのキャッチで出力した「エラー発生行」は数字型変数であり、ファイルに記録では文字列型変数しか使用できないため、「文字列に変換」を行う必要があります。
<Automation 360のエラーログ設定詳細画面>
ログの内容として、時間スタンプ、エラーが発生したアクション行番号、エラー内容を設定します。
今回ご紹介させていただいた設定例は弊社の標準として使用しているものです。用途に応じて適切なログを出力することにより、RPAでエラーが発生した場合に迅速に対応することが容易になります。
しかしログ出力の粒度が荒く上手く原因が特定できない、または細かく入れすぎてログが見づらいなど、うまくログを活かせていないケースもあるかと思います。
そんな時はRPAのプロに依頼するのも解決方法の一つです。私たちは様々な業種の企業をRPA導入による業務改善を支援してきましたので、RPAに関してなにかお困りのことがありましたら、お気軽にご相談ください。貴社に状況に合わせて開発支援、問題解決につながるご提案をさせていただきます。
ペネトレイター株式会社 髙橋