我试图通过在我的 Cloud 服务中启用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);
        }
    }
}

diagnostics.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中的“属性”启用了“工作者角色诊断”,并指定了存储帐户详细信息以存储诊断结果 .