ETW EventSource .NET 4.5的滚动文件

时间:2013-06-24 11:25:02

标签: c# logging etw etw-eventsource

我一直在尝试在.net 4.5中使用ETW。

我有一个WCF服务和控制台应用程序,我想要使用EventSource来编写消息,但是,我很难理解如何创建自己的ETW(EventSource和EventListener)来记录文件(滚动文件)

有什么建议吗?

2 个答案:

答案 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的类中定义事件。

EventSourceDemo

现在使用Enterprise Library中的Semantic Logging Application Block来消费事件。

以下是视频如何使用:

引入语义记录

http://channel9.msdn.com/posts/Introducing-Semantic-Logging