Extending and Modifying the Logging Application Block

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The latest Enterprise Library information can be found at the Enterprise Library site.

In its original state, the Logging Application Block works well for typical logging scenarios. However, there may be times when you need to customize some of the application block's behavior to better suit your application's particular requirements. There are two ways to do this: you can extend the Logging Application Block using the built-in extension points or you can modify the application block by making changes to its source code. For more details, see the following topics:

If you intend to modify or extend the LogEntry class, you may want to use the ReflectedPropertyToken class. This formatting token allows you to log custom properties on custom classes that either derive from the LogEntry class or modify it. This token has the syntax {property(CustomPropertyName)}, and it uses reflection to obtain the value of the specified property and log it to the chosen trace listener. For example, you might have a property named FileName that is the name of the log file. Using this token allows you to insert this name into a log entry.