Top Banner
Bot Framework で 会話のログを取ろう♪ (C# - 2017/8月編) 2017-8-30 Cogbot #8 LT
15

Bot Framework で会話のログを取る

Jan 22, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bot Framework で会話のログを取る

Bot Framework で

会話のログを取ろう♪(C# - 2017/8月編)

2017-8-30

Cogbot #8 LT

Page 2: Bot Framework で会話のログを取る

ABOUT ME

@BEACH_SIDE

横浜 篤よこはま あつし

http://beachside.hatenablog.com/

Using…

C#, ASP.NET, Azure, Cognitive Services, Bot Framework….

C#er ♪

Cogbot

コミュニティ

BEACHSIDE BLOG

Page 3: Bot Framework で会話のログを取る

Bot Framework とは

Page 4: Bot Framework で会話のログを取る

Bot Frameworks とは

•LTだと説明する時間がない!省略

公式ドキュメント:https://labs.cognitive.microsoft.com/

Page 5: Bot Framework で会話のログを取る

会話のログについて

Page 6: Bot Framework で会話のログを取る

Bot Framework(Bot Builder)内では…

•“IActivityLogger “というインターフェースがあり、これを実装したクラスを作ることで、会話のログが楽にとれる•デフォルトでは、何も出力しない設定になっている

( “NullActivityLogger” クラスがセットされている)

•具体的にはこちら• https://github.com/Microsoft/BotBuilder/blob/master/CSharp/Library/Microsoft.Bot.Builder/ConnectorEx/IActivityLogger.cs#L81-

L91

• https://github.com/Microsoft/BotBuilder/blob/31048a2173313c81a2db47efce6a8a869b4ec284/CSharp/Library/Microsoft.Bot.Buil

der.Autofac/Dialogs/DialogModule.cs#L372-L375

Page 7: Bot Framework で会話のログを取る

“IActivityLogger “ のログ出力

•出力したいタイミングにコードを書かなくても、よしなに出

力してくれる•何を出力するかの実装は必要

•出力のタイミングは、• チャットボットが、ユーザーからメッセージを受け取ったとき

• チャットボットが、ユーザーにメッセージを返すとき

Page 8: Bot Framework で会話のログを取る

DemoIActivityLogger

• 出力ウインドウにログを出力

Page 9: Bot Framework で会話のログを取る

簡単 かつ 実用度ゼロ

Page 10: Bot Framework で会話のログを取る

そこで、

Nuget パッケージの

Microsoft.Bot.Builder.Azureですよ

Page 11: Bot Framework で会話のログを取る

Microsoft.Bot.Builder.Azure

•Microsoft で出しているライブラリ(Nuget パッケージ)https://www.nuget.org/packages/Microsoft.Bot.Builder.Azure/

• Azureと連携するための機能が実装されている

• Queue とかに出力する機能のコードはあるけど…

Page 12: Bot Framework で会話のログを取る

Microsoft.Bot.Builder.Azure - “TableLogger “ クラス

•Azure Table Storage にログを出力する• Aictivity を圧縮して保存する(見るときは展開が必要だよ)• https://github.com/Microsoft/BotBuilder-

Azure/blob/478790baed4fa675e31b9e71a5038cb5fc376e07/CSharp/Library/Microsoft.Bot.Builder.Azure/

TableLogger.cs#L115-L129

• “TableLoggerModule” が面倒な処理をラップしてくれている

Page 13: Bot Framework で会話のログを取る

DemoBot.Builder.Azure

• Azure Table Storage に出力

Page 14: Bot Framework で会話のログを取る

簡単 かつ 実用的

Page 15: Bot Framework で会話のログを取る

まとめ

• 簡易なロギングの方法は用意されている

• これから増えそう(Bot.Builder.Azureの実装中のコードを見る限り…)

• 詳しいことは、数回に分けてブログでまとめてます。

http://beachside.hatenablog.com/archive/category/Bot