Azure诊断 - 始终禁用事件源

时间:2016-09-22 10:47:16

标签: azure azure-worker-roles etw azure-diagnostics etw-eventsource

我正在尝试通过在我的云服务中启用Azure诊断来记录ETW事件。部署后,如果我在“诊断配置”对话框中签入,则ETW日志似乎已启用。此外,所有WAD *表都已创建,但是根本不会创建在diagnostics.wadcgfx文件中指定的自定义ETW表。这是日志代码 -

public sealed class VstsEventSourceWriter : EventSource
{
    public void LogException(int eventId, string ErrorMessage, string ExceptionType, string ExceptionMessage, string Stacktrace)
    {
        if (IsEnabled())
        {
            WriteEvent(eventId, ErrorMessage, ExceptionType, ExceptionMessage, Stacktrace);
        }
    }
}

diagnostic.wadcfgx中的代码 -

    <EtwProviders>
      <EtwEventSourceProviderConfiguration provider="VstsEventSourceWriter" scheduledTransferPeriod="PT5M">
        <Event id="1" eventDestination="Table1" />
        <Event id="2" eventDestination="Table2" />
        <Event id="3" eventDestination="Table3" />
        <DefaultEvents eventDestination="DefaultTable" />
      </EtwEventSourceProviderConfiguration>
    </EtwProviders>

如果我在服务中调试,isEnabled()始终为False。所以永远不会调用WriteEvent。我在.NET Framework 4.5中使用Azure 2.9 SDK。我应该检查此日志记录是否有效?我已从VS中的“属性”启用了“工作者角色诊断”,并指定了存储帐户详细信息以存储诊断结果。

0 个答案:

没有答案