Code Quality Rank: L4
Programming language: C#
License: GNU General Public License v3.0 or later
Tags: Logging     Library     EntLib     EntLib6     OSS     Semantic     Structured     Event     Slab     Enterprise     ETW     EventSource     Listener     Strongly-typed     Block     Futures    
Latest version: v2.0.1406.1

Semantic Logging Application Block (SLAB) alternatives and similar packages

Based on the "Logging" category.
Alternatively, view Semantic Logging Application Block (SLAB) alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Semantic Logging Application Block (SLAB) or a related project?

Add another 'Logging' Package


:warning: This project is no longer under development. A possible alternative, depending on use case, is Microsoft.Diagnostic.EventFlow. :warning:

What is Semantic Logging?

Semantic Logging (formerly know at the Semantic Logging Application Block or SLAB) is designed by the patterns & practices team to help .NET developers move from the unstructured logging approach towards the strongly-typed (semantic) logging approach, making it easier to consume logging information, especially when there is a large volume of log data to be analyzed. When used out-of-process, Semantic Logging uses Event Tracing for Windows (ETW), a fast, lightweight, strongly typed, extensible logging system that is built into the Windows operating system.

Semantic Logging enables you to use the EventSource class and semantic log messages in your applications without moving away from the log formats you are familiar with (such as database, text file, Azure table storage). Also, you do not need to commit to how you consume events when developing business logic; you have a unified application-specific API for logging and then you can decide later whether you want those events to go to ETW or alternative destinations.

How do I use Semantic Logging?

Official releases are available via NuGet. You can also head to msdn.com for additional information, documentation, videos, and hands-on labs.


To build the solution, run msbuild.exe from the project’s build folder. You'll need to use the Visual Studio Developer Command Prompt. Some of the unit tests require a SQL database.

How do I contribute?

Please see CONTRIBUTING.md for more details.

Release notes

Release notes each release are available.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.