Chatbotの会話ログを保存しよう
テスト
まずはローカル環境で実行して、エミュレーターでの会話がログとして保存されているか確認してみましょう。Chatbotでランチメニューの注文をしてみます。
Chatbotのローカルフォルダ内にChatLog.txtファイルが作成されました。
ログファイルには会話の内容が記録されています。一方Chatbotによるダイアログの選択メニューの表示は、会話としての文字のやりとりはありませんので、空白となっています。
「Debug.WriteLine(log)」としているので、Visual Studioでもログ内容を確認できています。
デプロイ
ここまで完成したら、Azure App Serviceにデプロイして実際に利用してみましょう。Visual Studioから「ビルド」-「Chatbot201707の発行」を選択して、Azure App Serviceにデプロイをします。
デプロイが完了したら、Chatbotアプリを使って会話をしてみましょう。Bot Frameworkのポータルのテストツールや、前回紹介したSkypeに接続してあれば、そちらからでもOKです。
デプロイしたChatbotの会話内容が、ログとして保存されているのを確認してみましょう。Azure App Serviceのローカルファイルを参照するには、Azureポータルからデプロイした「Chatbot201707」を選択します。プレビュー版ですが「App Service Editor」が利用できるので選択します。
Webサイトのローカルファイルが参照できるので、ここでは「Chatlog.txt」を選択します。先ほどの会話内容がログとして保存されているのが確認できていれば成功です。
以上がChatbotでのログの保存方法となります。「IActivityLoggerインターフェース」を利用することで、数行のコードで簡単に実現できました。テキストファイルに保存する以外にも、ログの保存先をデータベースにしたり、特定のキーワードが含まれていた場合にメールで送信したりするといったことも可能となります。
これで、またひとつChatbotが成長しました。引き続きChatbotをより高機能で快適に利用できるように育てていきましょう。