在我的成分,我已经从EventSource
类派生创建ETW事件的几个来源:
[EventSource]
public class MessagingTrace : EventSource
{
[Event(1)]
public void MessageReceived(string address)
{
this.WriteEvent(1, address);
}
}
我试着遵循Enabling Diagnostics in Windows Azure的文章,但我不能找到如何在Azure诊断配置捕捉从我自己的源事件的任何指导。
虽然我知道这个选项是存在的,我宁愿没有我的路线,通过活动的老.NET跟踪,因为这只能在部署配置。
有没有办法让Azure诊断拿起我的事件?
Azure诊断不ETW事件的工作!
Azure诊断与工作:
所有这一切都来自ETW(Event Tracing for Windows)非常不同! ETW是内置到Windows本身,而不是.NET框架。而Windows Azure诊断模块没有内置支持读取来自ETW事件。但是,您可以ETW跟踪日志文件,并Azure诊断这些日志作为常规“日志”文件传输到存储。
你可以阅读更多关于如何使用ETW跟踪日志文件与Windows Azure诊断here。
您可能还需要看一看在Semantic Logging Application Block from the Enterprise Library 6。该块使用EventSource的,具有为Windows Azure表存储汇。
天青现在支持ETW日志记录。要启用它,在服务器资源管理器,在角色右键单击并编辑诊断的配置,应该有ETW日志,在那里你可以让他们一个标签。
有一个Channel9视频,解释得很详细。
您还可以找到有关如何以编程方式启用云服务ETW诊断日志this documentation有用。