在EventHubClient(来自Azure SDK)(LINK)的源代码中,我看到部分函数调用中有诊断跟踪。我想知道如何启用此功能,以便痕迹显示在某处。
最佳答案
I want to find out how I can enable this so that the traces show up somewhere.
您需要实现一个 EventListener 将日志保存到您想要的任何位置。以下是将日志写入文件的示例。
public sealed class FileEventListener : EventListener
{
private string _filePath;
public FileEventListener(string name)
{
this._filePath = name;
}
private void WriteToFile(string message)
{
File.AppendAllText(_filePath, DateTime.Now.ToString() + message + "\n");
}
protected override void OnEventWritten(EventWrittenEventArgs eventData)
{
WriteToFile(string.Format(eventData.Message, eventData.Payload.ToArray()));
}
protected override void OnEventSourceCreated(EventSource eventSource)
{
}
}
实现您自己的EventListener后,您可以在您的应用程序中使用它。
EventListener myFileListener = new FileEventListener("D:\\log.txt");
myFileListener.EnableEvents(EventHubsEventSource.Log, EventLevel.LogAlways);
关于azure - 如何在 Azure 服务总线中使用/启用 EventHubClient 的 EventHubsEventSource 跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447054/