Overview
The CodeSite Logging System gives developers deeper insight into how their code is executing, which enables them to locate problems more quickly and ensure their application is running correctly. CodeSite's logging classes let developers capture all kinds of information while their code executes and then send that information to a live display or to a log file. Furthermore, both styles of logging, live logging and file logging, can be performed locally or remotely (via TCP, UDP, or HTTP).
A key element to CodeSite's effectiveness is that unlike message boxes and inspecting variables on breakpoints, CodeSite messages are not transient. The resulting log of messages provides valuable information for locating problem areas in your code. In addition, sending CodeSite messages does not interrupt the flow of your application as happens when message boxes and breakpoints are used. As a result, CodeSite is much more effective in situations where user interactions (eg. focus changes) and painting issues need to be tracked.
CodeSite also addresses several shortcomings with traditional logging/tracing solutions. For example, CodeSite allows logging complex data structures and is not limited to simple strings. CodeSite also provides more control over what gets logged and when. Instead of relying on arbitrary logging levels, separate loggers are used to categorize CodeSite messages. CodeSite also gives developers more flexibility in managing their logging information such as enabling multiple applications (or multiple instances of the same application) to send logging information to the same log file. In addition, the CodeSite viewers, which are designed specifically for analyzing CodeSite logging messages, provide extensive, easy-to-use tools for analysis.
There are three core components to the CodeSite Logging System:
- The CodeSite Logging Classes
- The CodeSite Dispatcher
- The CodeSite Viewers