Home > Products > LucidLog.Net > Features
 

LucidLog.Net - .NET logging tool. Tracing, debugging and monitoring .NET and ASP.NET applications. Log4net alternative.

LucidLog.Net - Features and Benefits

Comprehensive .NET logging, debugging and monitoring tool
Important features that make .NET logging flexible, configurable and effective
Effective log analysis features
Documenting and publishing features

Comprehensive .NET logging, debugging and monitoring tool

Advanced high-performance and lightweight logging framework
100% managed code (C#)
Powerful log viewer application for viewing and analysing logs
Real-time monitoring of local and remote applications
Logging in multi-threaded and distributed applications

Advanced high-performance and lightweight logging framework

LucidLog.Net offers a powerful and advanced .NET logging framework providing tracing, logging and diagnostics for both .NET desktop applications and ASP.NET web applications. The LucidLog.Net Library can be used with C#, VB.NET, Delphi.NET and other .NET languages.

Important features implemented in the LucidLog.Net Library:

  • The high-performance logging library will affect the performance of your application in the least possible degree
  • Small library size (~80 KB)
  • No external dependencies on other applications or libraries
  • Easy to learn and use

    LucidLog.Net comes together with detailed documentation and examples that will help you quickly make your first steps in learning and using the product.

    Powerful log viewer application for viewing and analysing logs

    The LucidLog.Net LogViewer has a user-friendly interface and offers a wide range of navigation tools, various methods of filtering, grouping and selecting log entries for comfortable, flexible and effective log analysis.

    LucidLog.Net LogViewer

    The main “tool” you work in the LucidLog.Net LogViewer with is a view. A view displays logged information that is filtered and presented according to the settings of this view. Each view allows you to specify its own mode for displaying the log (hierarchic or as a plain list), set of filters, log appearance. Thus, you can create your own views as a set of tools taking into account the entire range of tasks in the analysis of your log information. If you open several views with the corresponding settings, you will be able to analyse various aspects of how your application runs – the interaction of separate assemblies and their subsystems, the work of threads and processes, occurring errors and notifications, etc. At each moment you can use only the subset of views you need that corresponds to your current tasks.

    Besides views, the main tools, the LucidLog.Net LogViewer offers several additional tool windows for analysing log information. They display the corresponding runtime context information (call stack information, process and thread information, etc.) and detailed information about the logged object for each log entry. Besides, the "Process Flow" and "Bookmarks" tool windows display the list of all processes and threads and the list of bookmarks for the current log respectively.

    Customized views together with various tool windows will give you the most comprehensive information for the effective analysis of how you application runs.

    Real-time monitoring of local and remote applications

    The LucidLog.Net LogViewer can receive log message via TCP/IP from applications running both on the local computer and remotely. Besides, it can work with several applications at a time. Accepting log messages via TCP/IP, the LucidLog.Net LogViewer allows you to monitor and analyse the performance of your application directly during runtime. Such monitoring is especially effective for debugging and analysing the work of multi-threaded and distributed applications.

    By default, the LogViewer runs without "TCP Listening". To receive log entries in real time via TCP/IP, you should enable listening to the TCP port. To do it, use the "Start TCP Listenin" command from the File menu or the toolbar button. If necessary, the LogViewer can automatically enable listening to the TCP port at startup. To do it, use the LogViewer settings.
    Please note that you must have the "TCP Listening" already running when sends messages via TCP to the LogViewer.

    Logging in multi-threaded and distributed applications

    The LucidLog.Net Library is a thread-safe, so you can send log messages from different threads to the same output.

    The LucidLog.Net LogViewer completely supports displaying the log of multi-threaded and distributed applications. All processes and threads of the current log are displayed in the "Process Flow" tool window. The context menu of this window allows you to create a separate View for log information coming from any process or thread with one command.

    LucidLog.Net LogViewer \

    Important features that make logging flexible, configurable and effective

    Programmatic and XML logging configuration
    Flexible output to multiple logging targets
    Grouping log entries by categories specified by the user
    Logging of custom type objects without prior conversion
    Redirecting and advanced control of .NET System.Diagnostics.Trace output
    Logging control without changing the your application binary file
    Deleting all the calls of LucidLog.Net Library methods from your application in one step
    LucidLog.Net Configurator for creating and editing configuration files

    Programmatic and XML logging configuration

    LucidLog.Net Library can be configured either programmatically or using a XML configuration file. The configuration API and configuration file settings are completely identical regarding their capabilities.
    See code samples: How to load the configuration file and How to configure the library programmatically

    Flexible output to multiple logging targets

    Developers can use LucidLog.Net to send log messages to different targets:

    • File - write log messages to a file in the file system.
    • Log viewer - send log messages to LucidLog.Net LogViewer using TCP/IP locally or remotely
    • Event log - write log messages to the Windows Event Log
    • Message box - show every log message in a Windows message box.
    Besides, you can specify log targets not in the code of your application, but in the configuration file. Thus, you will be able to change the strategy of logging without modifying the code of your application.

    Each log message is given one of the severity values: Message, Warning, Error, Exception, Fatal. LucidLog.Net allows you to assign different targets to log messages with different severity. It will help you to reduce the amount of messages traced in real time via TCP/IP, for example, "only errors", while the full log will be written to a file. This approach makes it much easier for you to monitor and analyse important log information.
    See code sample: How to set various targets for log entries

    Grouping log entries by categories specified by the user

    The LucidLog.Net Library supports grouping log messages by custom categories. You can assign any category to each log message. For example, this category may correspond to a subsystem of your application. It will allow you to completely enable/disable sending log messages that have certain categories and then filter log messages by categories in the LucidLog.Net LogViewer.
    See code sample: How to set a category for a log entry

    Logging user information without prior conversion

    LucidLog.Net LogViewer \

    The LucidLog.Net Library allows you to log data about both standard .NET types (strings, lists, dictionaries, exceptions, etc.) and custom types. In case of custom types, all public properties and fields of the logged object are written to the log and displayed in the special "Details" tool window in the LucidLog.Net LogViewer.

    Redirecting and advanced control of .NET System.Diagnostics.Trace output

    If you already use tracing by means of .NET System.Diagnostics.Trace, LucidLog.Net will allow you to easily reassign your Trace output to any of available LucidLog.Net targets using the configuration file or the API. After that any Trace output will be redirected to the assigned LucidLog.Net output and you will be able to use all benefits of LucidLog.Net – real-time local and remote application monitoring, the powerful log viewer with advanced filtering and analysing features, etc.
    See code sample: How to reassign the System.Diagnostics.Trace output

    Logging control without changing the your application binary file

    During the process of debugging and monitoring the performance of various components or subsystems, it is often necessary to quickly enable/disable logging them. With LucidLog.Net, you will not have to modify the code of your application for that. Changing only configuration parameters, you can enable/disable sending log messages with certain severity, category (a category may correspond to a subsystem of your application, for example), types of logged data and also combinations of these parameters.
    See code sample: How to disable log entries with certain categories, severity and types

    Deleting the calls of LucidLog.Net Library methods from your application in one step

    To quickly remove all calls of LucidLog.Net Library methods from the release version of your application, just remove the DR_LOG constant from the project property "Configuration Properties \ Build \ Conditional Compilation Constants" and recompile your application.

    LucidLog.Net Configurator for creating and editing configuration files

    The LucidLog.Net Configurator tool will allow you to easily and quickly create and edit configuration files for the LucidLog.Net Library. You can create a new configuration file based on the default parameters or edit an already existing configuration file. Its simple and user-friendly interface will allow you to easily edit configuration files according to your needs. You may freely distribute LucidLog.Net Configurator among your users together with your applications.   See screenshot

    Effective log analysis features

    Advanced filtering features
    Logging Run-time Context Information
    Building a hierarchic log
    All kinds of comfortable log navigation and search tools
    Commenting and bookmarking logs

    Advanced filtering features

    LucidLog.Net LogViewer's 'View Properties' Dialog - Filter Page

    You can use filters to specify what log entries to show in the current view. It is possible to specify any combination of Severity, Category, Application Name, Host Name, Proccess ID, Thread ID as filter parameters.

    You can save a filtered log to a separate file.

    See screenshot

    Logging Run-time Context Information

    LucidLog.Net LogViewer 'Propeties' tool window

    At the moment when a log message is sent from your application, the LucidLog.Net Library automatically saves detailed information about the runtime context: Machine name, Time stamp, Application domain name, Process information, Thread information, Call stack. All this information is displayed for any selected log message in the corresponding tool windows of the LucidLog.Net LogViewer - "Properties", "Call Stack".

    See screenshot

    LucidLog.Net LogViewer 'Call Stack' tool window

    Building a hierarchic log

    The LucidLog.Net Library provides features for building a hierarchic log. Special LucidLog.Net Library methods, EnterMethod/LeaveMethod, allow you to mark the beginning and the end of a method executed in your application. Besides, the name of the logged method can be either specified by you or detected automatically.
    See code sample: How to mark the beginning/end of a method

    The LucidLog.Net LogViewer completely supports displaying a hierarchic log, but you can view you log as a plain list as well, if necessary.

    LucidLog.Net LogViewer hierarchic log view

    All kinds of comfortable log navigation and search tools

    The LucidLog.Net LogViewer offers various navigation tools for you to be able to quickly move to the part of the log you are interested in. These tools will allow you to quickly find the necessary log message by the message text, move through log messages of the same type, move through messages chronologically, move to the beginning/end of methods, make named bookmarks separately for each view and quickly jump to them.   See screenshot

    Commenting and bookmarking logs

    While analysing a log in the LucidLog.Net LogViewer, you can add your comments to any log message and create named bookmarks for any log message, which will allow you to mark the most important ones. Comments and bookmarks will be saved when you save a log file. Comments, named bookmarks, exporting and printing a log - all this will make it considerably easier for several users to analyse the log in case of team work.
    The list of all bookmarks with views where they are made and brief information about a log entry is displayed in the "Bookmarks" tool window.

    Documenting and publishing features

    Exporting Logs
    Printing Logs

    Exporting logs

    The LucidLog.Net LogViewer supports exporting logs to both CSV files and HTML files. You can export both the entire log and a filtered list of log messages from any view. Generated CSV files can be imported into MS Excel or other applications for further processing. The HTML format allows you to publish your logs or give log information to users who have no LucidLog.Net.   See screenshot

    Printing logs

    You can use the LucidLog.Net LogViewer to print the content of any view completely retaining its appearance.