如何在Azure servicebus中为EventHubClient使用/启用EventHubsEventSource跟踪

时间:2017-08-01 20:23:25

标签: azure azure-eventhub

在EventHubClient的源代码中(来自Azure SDK)(LINK)我发现部分函数调用中存在诊断跟踪。我想知道如何启用它以便跟踪显示在某处。

1 个答案:

答案 0 :(得分:0)

  

我想了解如何启用此功能以便跟踪显示在某处。

您需要实现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);