【发布时间】:2013-10-06 12:56:53
【问题描述】:
正如问题所述,如果我的服务中出现异常,我希望它显示在管理员频道中,这样我们就不必打开诊断来在调试频道中看到它。例如,如果未打开日志,我们可能会错过该事件。但是,很高兴在跟踪的上下文中看到调试通道中的错误。为了实现这一点,我需要在两个频道中都显示它。
使用 ETW 实现这一目标的最佳方法是什么?
【问题讨论】:
标签: .net system.diagnostics etw etw-eventsource
正如问题所述,如果我的服务中出现异常,我希望它显示在管理员频道中,这样我们就不必打开诊断来在调试频道中看到它。例如,如果未打开日志,我们可能会错过该事件。但是,很高兴在跟踪的上下文中看到调试通道中的错误。为了实现这一点,我需要在两个频道中都显示它。
使用 ETW 实现这一目标的最佳方法是什么?
【问题讨论】:
标签: .net system.diagnostics etw etw-eventsource
有一段时间没有回答这个问题。我处理此问题的方式是将 ETW 特定事件设为私有,并使用 [NonEvent] 属性创建一个公共帮助器方法。这会像往常一样获取事件的参数,但随后会调用 2 次实际的事件方法,一个是为管理员定义的,另一个是为调试定义的。
【讨论】: