C# 使用mvc在azure表中设置etw日志

C# 使用mvc在azure表中设置etw日志,c#,asp.net-mvc-4,azure,C#,Asp.net Mvc 4,Azure,花了4个多小时试图找出etw日志为什么不会出现在我的表中。我仍然无法理解为什么我的日志没有显示在azure表中 编辑 该服务作为云服务托管 下面是我的诊断xml的样子。这是通过在visual studio中选择选项自动生成的 <?xml version="1.0" encoding="utf-8"?> <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10

花了4个多小时试图找出etw日志为什么不会出现在我的表中。我仍然无法理解为什么我的日志没有显示在azure表中

编辑
该服务作为云服务托管

下面是我的诊断xml的样子。这是通过在visual studio中选择选项自动生成的

<?xml version="1.0" encoding="utf-8"?>
     <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
  <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
    <WadCfg>
      <DiagnosticMonitorConfiguration overallQuotaInMB="4096">
        <EtwProviders>
          <EtwEventSourceProviderConfiguration provider="AzureEventSource">
            <Event id="1" eventDestination="Error" />
            <Event id="2" eventDestination="Warning" />
            <Event id="3" eventDestination="Debug" />
            <Event id="4" eventDestination="Performance" />
            <DefaultEvents eventDestination="Default" />
          </EtwEventSourceProviderConfiguration>
        </EtwProviders>
        <Logs scheduledTransferPeriod="PT2M" />
      </DiagnosticMonitorConfiguration>
    </WadCfg>
    <StorageAccount />
  </PublicConfig>
  <PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
    <StorageAccount endpoint="" />
  </PrivateConfig>
  <IsEnabled>true</IsEnabled>
</DiagnosticsConfiguration>
我很确定我错过了一些简单的东西


如果您在上面的示例中提到,我们将非常感谢您提供的任何帮助

您的类和方法分别缺少EventSource事件属性

eventsource的简单hello世界如下所示

[EventSource(Name = "HelloEventSource")]
internal sealed class HelloEventSource : EventSource
{
    [Event(1, Level = EventLevel.Informational, Message = "Hello World! {0}")]
    public void HelloWorld(string name)
    {
        WriteEvent(1, name);
    }
}
您应该修复代码的跟踪部分,并检查在您的计算机/vm上本地生成的日志。
接下来是通过您选择的诊断管道发送事件。

假设您在上面的示例中提到

您的类和方法分别缺少EventSource事件属性

eventsource的简单hello世界如下所示

[EventSource(Name = "HelloEventSource")]
internal sealed class HelloEventSource : EventSource
{
    [Event(1, Level = EventLevel.Informational, Message = "Hello World! {0}")]
    public void HelloWorld(string name)
    {
        WriteEvent(1, name);
    }
}
您应该修复代码的跟踪部分,并检查在您的计算机/vm上本地生成的日志。
接下来是通过您选择的诊断管道发送事件。

您是否将web应用托管在Azure VM中?如果是,是否在虚拟机中启用了诊断功能?添加了编辑。这是一个云服务。所以从技术上讲,它是在虚拟机上。如何在VM上打开诊断?我遵循了本教程,你在那篇文章中遵循了这个步骤吗?“如何在虚拟机中启用诊断”我没有这样做,因为我的web应用程序正在作为辅助角色运行。我只是按照“Worker角色”上的步骤尝试了这个示例,将其部署到云服务中,效果很好。但是,工作者角色不是asp.net应用程序,因此我觉得我缺少了一些东西。您是否在Azure VM中托管您的web应用程序?如果是,是否在虚拟机中启用了诊断功能?添加了编辑。这是一个云服务。所以从技术上讲,它是在虚拟机上。如何在VM上打开诊断?我遵循了本教程,你在那篇文章中遵循了这个步骤吗?“如何在虚拟机中启用诊断”我没有这样做,因为我的web应用程序正在作为辅助角色运行。我只是按照“Worker角色”上的步骤尝试了这个示例,将其部署到云服务中,效果很好。但是,worker角色不是asp.net应用程序,因此我觉得这就是我缺少的地方。