我一直在尝试在.net 4.5中使用ETW。
我有一个WCF服务和控制台应用程序,我想要使用EventSource来编写消息,但是,我很难理解如何创建自己的ETW(EventSource和EventListener)来记录文件(滚动文件)
有什么建议吗?
答案 0 :(得分:4)
除magicandre1981's answer外,您还应添加: -
TraceEventSession _session = new TraceEventSession(
"yourSessionName", @"C:\yourLogFile.etl")
{
CircularBufferMB = 100 //100mb rolling log file
};
_session.EnableProvider(TraceEventProviders.GetEventSourceGuidFromName(
"Samples-EventSourceDemos-EventLog"), TraceEventLevel.Always);
这可以与您登录(正在处理中)的应用程序相同,也可以位于完全独立的应用程序中(进程外)。
答案 1 :(得分:2)
安装Nuget Package of Microsoft EventSource Library
Install-Package Microsoft.Diagnostics.Tracing.EventSource -Pre
并在一个派生自EventSource的类中定义事件。
现在使用Enterprise Library
中的Semantic Logging Application Block来消费事件。
以下是视频如何使用:
引入语义记录