【发布时间】:2019-04-08 09:03:33
【问题描述】:
我使用 c# 在 microsoft botframework sdk v4 中创建了一个机器人,它运行良好。现在我想将这些对话消息记录到一个 azure sql 数据库中。我该怎么做??
提前致谢,
【问题讨论】:
标签: c# logging botframework
我使用 c# 在 microsoft botframework sdk v4 中创建了一个机器人,它运行良好。现在我想将这些对话消息记录到一个 azure sql 数据库中。我该怎么做??
提前致谢,
【问题讨论】:
标签: c# logging botframework
在 Bot Builder V4 中,ITranscriptLogger 已替换 IActivityLogger。
您可以在此处找到实体框架实现:https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/pull/78
您可以创建一个 ITranscriptLogger 实现,该实现连接到 sql server 并从 LogActivityAsync 中的 Activity 中保留您想要的任何字段
// Summary:
// Transcript logger stores activities for conversations for recall.
public interface ITranscriptLogger
{
// Summary:
// Log an activity to the transcript.
//
// Parameters:
// activity:
// The activity to transcribe.
//
// Returns:
// A task that represents the work queued to execute.
Task LogActivityAsync(IActivity activity);
}
一旦你有一个 ITranscriptLogger 实现,就可以将它添加到 Startup.cs 中的中间件堆栈中:
var myLogger = new MyTranscriptLogger(Configuration.GetSection("BotDataConnectionString").Value);
var transcriptMiddleware = new TranscriptLoggerMiddleware(myLogger);
options.Middleware.Add(transcriptMiddleware);
【讨论】: