Skip to content
This repository has been archived by the owner on Feb 20, 2021. It is now read-only.

Supporting semantic/structured logging for .NET

License

Notifications You must be signed in to change notification settings

microsoftarchive/semantic-logging

Repository files navigation

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

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.

Building

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.