SoftWx.Diagnostics is a .NET library providing classes that assist in creating robust applications. The library is written in C#, and can be used with WinForm and WebForm applications. The library is compatible with .NET 1.1 and .NET 2.0. The important classes are:

  • TraceManager - provides centralized access and control over .NET's Trace class.
  • Dbc - allows you to easily add basic design by contract checking to your methods.
  • QueueTraceListener - a fixed size, in-memory log of Trace output.

Together, these classes let you instrument your application for dynamic monitoring. In the interest of performance, much of this monitoring can be excluded through conditional compilation (the library uses the [Conditional] attribute, so you don't have to surround your using code with conditionals), or left in the assemblies and enabled or disabled dynamically. More details are in the help file.

SoftWx.Diagnostics is open source software, distributed under the BSD license.

Visit the Downloads page to get the latest version.


This screenshot shows the example dynamic trace monitoring window. The example is a winform since that is easier to distribute, but we typically implement a webform page similar to this in our web projects. The page has security so that only approved persons can view the page (typically the developers). This page then allows dynamic monitoring and monitor control of a running web application.

Image of example trace view monitor window
More C# code, and SoftWx C# code blog.