当前位置: 移动技术网 > IT编程>开发语言>.net > Microsoft Bot Framework V4使用ITranscriptLogger进行日志记录

Microsoft Bot Framework V4使用ITranscriptLogger进行日志记录

2019年01月16日  | 移动技术网IT编程  | 我要评论

龙妃九天,马蔺子,3d贴图

在bot v3版本中我们可以通过实现iactivitylogger接口在进行,但是在bot v4版本中已经没有这个接口了

不过在v4中可以使用transcriptloggermiddleware日志记录。

话不多说,开始吧。

通过 bot builder sdk for .net 创建机器人

vs新建项目选择botframework,如果没有这个模板,可以到下面链接去下载

https://marketplace.visualstudio.com/items?itemname=botbuilder.botbuilderv4

itranscriptlogger

 实现itranscriptlogger接口

1 public class transcriptlogger : itranscriptlogger
2 {
3         public async task logactivityasync(iactivity activity)
4         {
5             debug.writeline($"from:{activity.from.id} - to:{activity.recipient.id} - message:{activity.asmessageactivity()?.text}");
6         }
7 }

在bot中注入transcriptloggermiddleware中间件

1 services.addtransient<itranscriptlogger, transcriptlogger>();
2             
3 services.addbot<echobot1bot>(options =>
4 {
5         var transcriptloggerservice = services.buildserviceprovider().getservice<itranscriptlogger>();
6         options.middleware.add(new transcriptloggermiddleware(transcriptloggerservice));
7     ......
8 }

使用bot framework emulator与bot交互

emulator使用说明请看https://github.com/microsoft/botframework-emulator/wiki/getting-started

启动项目

 

然后打开emulator,点击open bot

选择项目中的.bot文件

 发送消息给bot

 

log result

查看itranscriptlogger记录的信息

 

在输出窗口我们可以看到两条记录,一条是给bot发送的消息,一条是bot的回复消息。

搞完

 就这么简单搞完啦,这个bot中间件还可以做其他更多的用途,这个日志中间件源码在https://github.com/microsoft/botbuilder-dotnet/blob/master/libraries/microsoft.bot.builder/transcriptloggermiddleware.cs。
当然我们可以自定义自己的中间件,怎么用就看大家脑洞啦~~~~

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网