C# 使用mvc在azure表中设置etw日志
花了4个多小时试图找出etw日志为什么不会出现在我的表中。我仍然无法理解为什么我的日志没有显示在azure表中 编辑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
该服务作为云服务托管 下面是我的诊断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应用程序,因此我觉得这就是我缺少的地方。