New 5.4.2 Release! CodeSite now supports RAD Studio 12 Athens. Click here for details.
The CodeSite Logging System gives developers deeper insight into how their code is executing, enabling them to locate problems more quickly and monitor how well their code is performing. Developers instrument their code using CodeSite loggers which send CodeSite messages to a live display or log file during program execution. All kinds of information can be encoded in a CodeSite message, and the CodeSite Live Viewer and File Viewer are specially designed tools for analyzing CodeSite messages. CodeSite is not only effective during development and testing; in production environments, CodeSite provides valuable information to support staff and developers.

Current Release

5.4.2

Supports

RAD Studio
    10 Seattle – 12 Athens
Visual Studio
    2015 – 2022

Price $399

Information Capture

CodeSite Loggers

Capturing information is at the heart of CodeSite. Developers identify the information that they would like to capture and then call an appropriate method of a CodeSite logger instance. The logger packages the information into a CodeSite message and then sends the message to a live display or log file. CodeSite loggers provide methods for sending all kinds of information including strings, numbers, dates and times, objects, collections, bitmaps, and much more. The wide variety of methods available in the CodeSite logger eliminate string conversions and make instrumenting code much faster and easier to read.

CodeSite also provides more control over what gets logged. Instead of relying on traditional logging levels, separate loggers are used to categorize CodeSite messages. Each logger, and thus category, can be independently enabled or disabled to control what information is captured.

In addition to the primary payload, all CodeSite messages include the following details: date & time stamp, application name, computer name, process ID, thread, and category.

Message Analysis

CodeSite Viewers

CodeSite includes two tools to analyze CodeSite messages: the CodeSite Live Viewer and the CodeSite File Viewer. During development and testing, developers will most often conduct live logging sessions and thus utilize the CodeSite Live Viewer, which is updated immediately as loggers send new messages. The File Viewer is specifically designed to view the contents of CodeSite log files.

Both viewers utilize the same user interface which is broken up into several panes. The primary pane is the message list, which displays the message’s primary text and optionally the message details. Messages are color coded based on the logger’s Category, and message groups are indented to display structure. The payload of the selected message is displayed in the inspector pane.

The CodeSite Viewers provide many tools to help developers locate messages of interest including navigating by message type, searching for specific content, and isolating messages that match defined criteria into their own views.

Message Distribution

CodeSite Dispatcher

CodeSite loggers do not send CodeSite messages directly to the Live Viewer or a log file. Instead, loggers send their messages to the CodeSite Dispatcher, which runs silently in the background. The Dispatcher is responsible for forwarding CodeSite messages to the Live Viewer, writing messages to a log file, or sending messages on to a remote dispatcher.

The CodeSite Dispatcher minimizes the performance impact the logging process has on an application. It also enables the creation of multi-application log files and ensures that log file management criteria are applied. Plus, the Dispatcher simplifies the transporting of CodeSite messages to remote computers.

Dispatcher Configuration

CodeSite Controller

The CodeSite Controller has a similar interface to the Settings dialog of the CodeSite Dispatcher. In fact, the Controller provides access to CodeSite Dispatcher settings even when the Dispatcher is running in stealth mode.

CodeSite Express vs CodeSite Studio

CodeSite is available in two editions: CodeSite Express and CodeSite Studio. The Express edition, available in Embarcadero’s RAD Studio, supports basic logging, but does not include the full range of functionality included in CodeSite Studio.

CodeSite Studio includes these additional features and capabilities:

  • More information types supports
    • Color, Point, Size, Rectangle structures
    • Bitmaps, Icons, Images, Screen Shots
    • Collections and Variants
    • Files, Streams, and File Version Info
    • System Info, Memory Status, and Stack Trace
    • Xml Data and Xml Files
    • Dataset Records and Dataset Tables
  • Send Custom Data & Define Custom Formatters
  • Microsoft .NET Support
  • Remote Destinations
  • File Logging by Date
  • High Precision Timer
  • Compressed Messages and Log Files
  • OnSendMsg event
  • SendIf methods
  • Record information in Windows Event Log
  • ScratchPad Write methods
  • Method Tracer for Delphi

CodeSite Tools

To utilize CodeSite in a deployed application, the CodeSite Tools need to be deployed as well. The CodeSite Tools include the required CodeSite Dispatcher, and the optional Live Viewer, File Viewer, and CodeSite Controller. The tools are freely redistributable and are included in the dedicated installer below. The installer is also included with CodeSite Studio along with instructions on how to run the installer silently and other configuration options.