Meet the new application block from Microsoft patterns & practices team - the Semantic Logging Application Block. It is intended to help you move from the traditional, unstructured logging approach (such as that offered by the Logging Application Block or log4net) towards the semantic logging approach that improves the consistency of the logs and simplifies significantly their consumption and automatic processing.

The Semantic Logging Application Block 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 (flat files, databases, Windows Azure table storage etc). Importantly, 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.

In this tutorial, we demonstrate the Semantic Logging Application Block in action. We also showcase the out-of-proc service to help reduce the logging overhead in your applications and improve fault tolerance of the logging process.

[00:03] - Semantic Logging - Impetus.

[09:04] - Structured logging technologies (ETW, EventSource, SLAB).

[12:31] - Walkthrough: Authoring an EventSource

[21:15] - Walkthrough: Using SLAB in-process

[31:42] - Walkthrough: Using SLAB out-of-process

[38:39] - Walkthrough: Using PerfView

[41:50] - Conclusions

For more information, please read the conceptual overview of semantic logging and visit the Codeplex site.