欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-08 21:31:14
在Bot V3版本中我们可以通过实现IActivityLogger接口在进行,但是在Bot V4版本中已经没有这个接口了。 不过在V4中可以使用TranscriptLoggerMiddleware日志记录。 话不多说,开始吧。 通过 Bot Builder SDK for .NET 创建机器人 VS ......

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

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

话不多说,开始吧。

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

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

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

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

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

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

启动项目

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

 

然后打开emulator,点击open bot

选择项目中的.bot文件

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

 发送消息给bot

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

 

log result

查看itranscriptlogger记录的信息

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

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

搞完

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