As some of you may know, since last August, there has been a Prelease version of EventSource 1.1 available on Nuget. It has been stable for the last 5 months or so, so we have gone ahead and marked the 1.1.24 version as stable.
For those of you unfamiliar with EventSource, it is a logging system built into the .NET Framework. You can learn more about it in my other blog posts about it.
As a reminder, however, there are TWO versions of EventSource
- System.Diagnostics.Tracing.EventSource - This is built into the .NET Framework, and you should use it whenever you can.
- Microsoft.Diagnsotics.Tracing.EvenceSource - This is what is implemented in the Nuget Package. It is effectively a stand-alone version of the code built into the .Net Framework. Its only purpose is to allow you to use new features (like the ones I am about to describe) on OLDER version so the .NET framework. Everything in V1.1 of this package (what was just released) is available in the V4.6 version of the .NET Framework (which is the version that Windows 10 includes). Thus if your application only needs to run on windows 10, then you don't need this package.
Version 1.1 of the Nuget package (or 4.6 of the framework) has the following new features:
- DynamicEvents - Allows events defined 'on the fly' by without creating a 'event methods
- RichPayloads - Allows specially attributed classes and arrays as well as primitive types to be passed as a payload.
- ActivityTracking - Causes Start and Stop events to tag events between them with ID that represents all currently active activities.
I will be blogging about each of these in the near future, as each of the three new features are complex enough that some explanation and guidance is needed.