MultiLog

From Lazarus wiki
Revision as of 02:14, 13 June 2006 by Luizmed (talk | contribs) (→‎About)
Jump to navigationJump to search

About

Multilog is a log system that aims flexibility and low overhead at same time. As the name suggests, it can be used to log to several targets as a text file, a visual control or to another application. Adding new targets is as easy as creating a class that implement two methods, one being optional. Multilog is in general similar to CodeSite, Smart Inspect, Overseer and EstLogger but it does not follow closely any of them, implementing many things differently and, even, having some unique features.

Main features:

  • Flexible:
    • It's possible to define up to 32 log classes and enable/disable any combination of them
    • There's overloaded functions for most used types: Integer, Boolean, String, TStrings, TRect, TPoint
  • Low overhead:
    • If a log class is not active, all messages that belongs to it only do a check in the begin of the function and exit
    • In the future a fake TLogger class will be provided, so the overhead will be even smaller if desired
  • Unique:
    • Implements conditional messages (using SendIf method): a message is sent if a boolean criteria is met
    • Implements a function (CalledBy) that returns if the current code was called by a method (Useful to debug the LCL)
    • Implements SendCallStack: the name says all


Here's the provided Log Viewer in action: MultiLogViewer.png


Author

Luiz Américo Pereira Câmara aka Karl Brandt

License

LGPL

Download

You can download from [1]  

Change Log

  • 12/06/06: Version 0.1 - initial release

System Requirements

Lazarus 0.9.16

Usage

To be written. For now, look at the examples provided.