Semantic Logging Application Block now supports activity tracing and Elasticsearch

We are happy to announce the release of the Semantic Logging Application Block (SLAB) v1.1. It has exciting new features that will make developers more productive and that help improve your operational intelligence. I want to highlight three in particular:

Support for activity IDs for EventSources is available in .NET 4.5.1. This version of SLAB adds support for capturing and storing in all supported sinks the new ActivityId and RelatedActivityId properties from events published by EventSource classes.

  • Added new EnableEvents and DisableEvents extension methods to the EventListener to configure event listeners using an event source name rather than an event source instance.

This allows capturing events from sources that are not publicly accessible, such as those generated by the TPL event provider to indicate activity ID transfers when tasks are used.

A configurable sink to publish log events to Elasticsearch server (1.x). The sink can be used in– or out-of-process, and buffers events when writing them to the Elasticsearch server.

For other features, deployment considerations and known issues, I refer you to the official Release Notes.

I’d like to emphasize the fact that the new Elasticsearch sink feature of this release was largely a community-driven effort. This is the first official release of the block after we started accepting community pull requests. Big thanks to all contributors. With this example of a fruitful collaboration between Microsoft and the developer community, I’d like to encourage other developers to engage with us and help improve SLAB and other p&p deliverables. If interested, our contribution guidelines can be found here.

SLAB1.1 with the corresponding sinks ships under Apache2.0 license through NuGet. These are the package names:

  • EnterpriseLibrary.SemanticLogging
  • EnterpriseLibrary.SemanticLogging.Database
  • EnterpriseLibrary.SemanticLogging.Elasticsearch
  • EnterpriseLibrary.SemanticLogging.Service
  • EnterpriseLibrary.SemanticLogging.WindowsAzure

As always, try it, use it, let us know what you think.