マイナーなライブラリ使ってみた。「ログ記録」
こんにちは、NTTデータ WinActor技術支援チームのEOです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
マイナーなライブラリのご紹介、今回は「ログ記録」ライブラリです。
ライブラリの概要
指定したテキストファイルに「書き込み日時【ラベル】書き込みデータ」の形式で追記するライブラリです。
出力結果のサンプルは以下のようになります。
※「【Excel】」の部分がラベル、「データ入力完了」の部分が書き込みデータです。
出力結果サンプル : 2018/01/01 09:00:00 【Excel】 データ入力完了
ログ出力ウィンドウに表示されるログ(実行ログ)とは違って、どのノードがいつ実行されたかの情報は出力されません。
プロパティはこんな感じです。
書き込みファイルパス、書き込みラベル、書き込みデータの3つを指定し、実行すると所定の形式でテキストに追記します。
ちなみに、書き込みファイルパスで存在しないファイルパスを指定した場合、新しくファイルが作られます。
実際に使用してみた
早速使ってみましょう。
今回は選択ボックスの選択結果を「書き込みラベル」、インプットボックスからの取得値を「書き込みデータ」としてログ記録するシナリオを作りました。
選択ボックスでは「完了件数」または「未完了件数」、インプットボックスでは件数を数字で入力しています。
夜間などに処理した件数と未完了件数をログに吐き出すイメージです。
出力されたログはこのようになります。1行だけだとログっぽくないので、4回ほど実行した状態です。
WinActorの実行ログは情報が多く、用途によっては見づらいこともありますが、
これは設定した項目以外は出力しないので、見やすいですね。
ちなみに、WinActorの実行ログのほうはこんな感じです。
(ログ行数が多いと見づらいのでシナリオを1回だけ実施した状態にしています。)
実行ログには「ログ記録」ノードを実行したことと日時は記載されますが、
「ログ記録」のプロパティで指定した「書き込みラベル」、「書き込みデータ」の中身は実行ログには記載されません。
WinActorの実行ログにシナリオ内の変数など、任意の文字列を出力したい場合は、「ログ記録」ではなく「ログメッセージ出力」を使いましょう。
「ログメッセージ出力」については近日中にコラムを投稿予定です。
注意点
・「ログ記録」の出力ファイルをあらかじめ作成する場合、文字コードがANSI(SJIS)のものを作成しましょう。
他の文字コードで作成されたファイルを指定すると文字化けします。
・WinActorの実行ログをファイル出力している場合、「ログ記録」の書き込みファイルパスは実行ログのファイルパスと重複しないようにしましょう。
※もし実行ログのファイルパスと重複した場合、「書き込みできません」というエラーが出ます。
これは、WinActorで実行ログをファイル出力する設定していた場合、実行ログファイルが排他ロックされるためです。
まとめ
実行ログは項目が多いのでデバッグ時は重宝しますが、処理の実行結果の確認などは必要な項目が見つけにくいので、
処理結果だけを確認しやすいようログとして出したい、といった場面で使うには便利ですね。
「テキストファイル追記」と文字列連結や日時取得などと合わせることでも同じことができますが、
「ログ記録」を使えはノード1つで済むので、お勧めです。
ほかにもこんな用途で使ったよ、などの例があったらコメントもいただけると嬉しいです。
★★★お知らせ★★★
みなさま、WinActorラウンジ2020への参加申込はお済みですか?
今年はオンライン開催のため、例年に比べて参加しやすくなっていますので、
気になるコンテンツがあればぜひお申込みいただければ幸いです。
講演者やプログラムのタイムスケジュールなどは以下URLから確認できます。
特設サイト:https://winactorlounge2020.jp/
申込は特設サイト の「開催概要」>「参加費・申込み」にあるリンクからお手続きいただけます。
(お申込み時にユーザーフォーラムへのログインが不要になりました。)
申込期限は 2020年9月30日(水)までとなっていますので、お早めにお申し込みください。