This post continues on from part 3:
In-process / out of process logging
Again, here’s the diagrams showing the difference between in-process and out-of-process logging. (Taken from the EL6 documentation)
As soon as performance in your logging is required, out-of-process should be used. If you use out-of-process though, deployment of your application is more complicated, 2 separate applications are then required for each target host. (SLAB OUT-OF-PROCESS service must run on the same host as the event sources)
Advantages compared to Enterprise Library Logging Block
- live configuration, trace tuning without restarting web apps in the IIS (by OUT-OF-PROCESS)
- high performance logging
- OUT-OF-PROCESS and distributed software systems support
- easy to configure in OUT-OF-PROCESS
- no unity dependency
- Complicated Logging configuration is no longer required and the web.config, app.config is almost free from EL configurations
- Application is free from listeners (OUT-OF-PROCESS)
- Active logging/IT planning when implementing the tracing, logging systems, instead of log analysis in the log Db after the application has been deployed
- Easy to plan for logging, tracing, run-time diagnosis
- Easy to extend source code
- Easy to use KISS
- Semantic logging and strongly typed events ensure that the structure of your log messages is known.
Disadvantages compared to Enterprise Library Logging Block
- string categories filters are missing, replaced by keywords (int)
- mapping required for keywords, tasks and opcodes
- when using OUT-OF-PROCESS, it must be deployed to every client PC
- Keywords are defined as a nested class inside the EventSource classes
- No Windows EventLog support
- No MSMQ support (Out of the box)
Customizing the Semantic Logging Application Block
(Taken from the EL docs)
The Semantic Logging Application Block provides a number of extension points that enable you to further customize its behavior. These extension points include:
- Creating custom formatters for use both in-process and out-of-process.
- Creating custom event listeners for use both in-process and out-of-process.
- Creating a custom application to collect trace messages from your LOB applications.
Enterprise Library 6, Semantic Logging, Part 1, database listener
Enterprise Library 6, Semantic Logging, Part 2, OUT-OF-PROCESS
Enterprise Library 6, Semantic Logging, Part 3, Getting into the details
Microsoft-SemanticLogging-Etw’ already exists How do I delete the session?