7
我希望能够声明一个EventSource,它至少有几个默认提供常规日志功能的方法。是否可以在ETW中继承EventSource?
例如
- 信息()
- 警告()
- 错误()
另外我想能够每个服务中,限定了从继承特定事件源提供上述的基类。 目前创建清单的EventRegister.exe应用程序会提示事件源必须密封。
我做错了吗?如果是的话我怎么能达到上述? 见示例代码:
public class ETWBase : EventSource
{
[Event(1, Channel = EventChannel.Admin, Message = "Info Message: {0}")]
public void Info(string message) { this.WriteEvent(1); }
[Event(2, Channel = EventChannel.Debug, Message = "Debug Message: {0}")]
public void Trace(string message) { this.WriteEvent(2); }
}
[EventSource(Name = "ABC-MyEtwServiceEventSource")]
public sealed class MyEtwServiceEventSource : ETWBase
{
public static MyEtwServiceEventSource Log = new MyEtwServiceEventSource();
[Event(3, Channel = EventChannel.Debug, Message = "My specific Message: {0}")]
public void Trace(string message) { this.WriteEvent(3); }
}
我使用的是最新和最伟大的Microsoft.Diagnostics.Tracing(前)我的理解有来自不同企业库平板电视的支持。
Microsoft.Diagnostics.Tracing(pre)期望该类被封闭。继承EventSource的类需要密封,如果不标记为密封,则不能生成清单。我怀疑这是否会奏效。 – KRP
如何跨多个系统共享多个事件源的通用方法? – jaffa
我并不确定在那方面,我认为我们不能那样做。 – KRP