About the Downloads
The binaries download includes the following files.
| TracerX-Logger.dll || The logger assembly. The only TracerX file you must install with your application, unless you also want to install the viewer.|
| TracerX-Logger.xml || Enables intellisense documentation in Visual Studio. |
| TracerX-Viewer.exe || The viewer application. You may want to associate this with the .tx1 file extension.|
| TracerX-Viewer.exe.config || The config file enables the viewer to save various settings like the most recently used file list, column selections, etc. The .exe won't start without the .config, so you must install this file in the same directory as the TracerX-Viewer.exe file. This file is not required for logging. |
The source download includes a Visual Studio 2005 solution containing three projects (TracerX-Logger, TracerX-Viewer, and Sample).
Several cool features were added to the viewer. The new viewer will work with old log files, though some features may be disabled if the log file version is too
- Added a crumb-bar with clickable links showing the call stack leading to the currently selected line. Click a method name to scroll to that call. Click an arrow to see a list of called methods, and click one to scroll to it.
- Added "Recently Created" and "Recently Viewed" items to the File menu. If the "Recently Created" list is unexpectedly empty, you need a newer version of the logger.
- Added support for coloring (highlighting) rules that set the background and foreground colors of lines that match specified criteria.
- Added CSV (Comma Separated Values) export feature.
- Made "Find" and "Full Text" dialogs non-modal. E.g. you can have two "finds" going at once.
- Added an option on the Full Text dialog to follow the currently selected record.
- Added regular expression support to the Find dialog.
- Improved behavior of context menu commands for scrolling to the end/beginning of the current method call. These commands also now show the name of the method being scrolled to.
- Changed the version checking algorithm and added a way to disable and hide version checking via the app.config file in case you think your users will be annoyed by the version checking feature.
- Some minor bugs were fixed.
- The logger now maintains a list of recently created log files (the viewer displays this list under the "Recently Created" menu item). This feature can be disabled in code or via the XML config file.
- Added a static Logger property (Logger.Current) that returns the last Logger that sent any output to any destination for the calling thread. Useful if you want a given method to log to the same Loggers used by its callers.
- Removed the handler for System.Windows.Forms.Application.ThreadException since it seems to hide the fact that an unhandled exception occurred and it isn't being used anyway.
- The enumeration value TraceLevel.Undefined was marked [Obsolete] and TraceLevel.Inherited was added to replace it. They both have the same value and you can use either one in your code, but Inherited makes more sense in most places.
- Fixed all known bugs, including...
- An exception was thrown in some types of applications when determining the default log file or directory name, or when opening the log file. Know cases are in Web (IIS) applications, Visio add-ons, and PowerShell add-ons.
- An exception would sometimes be thrown in the Visual Studio forms designer.
User "bretthawton" reported a problem in a review comment below regarding a certain string. I was unable to reproduce the issue. Unfortunately, I can't find a way to contact him directly. The following screen shot demonstrates that TracerX is able to log and display the string, which I simply copied from his review and pasted into the sample code.