Llog -- A leveled message logging library.

The Llog library provides a means to write log messages from your software and control which message are logged and  if logged their destination at run time.  Using Llog is very much like putting fprintf() statments in your code however with Llog each message is tagged by level and compared to a level threshold before it is logged.  Also messages can be directed to either std[err|out], a log file or to the system's syslog facility.  This later option provides great flexibilty.  In addition is is possible to automatically prepend the program name and/or a time stamp to each message.  Also provided are a small set of debugging macros.  These include an implementation of ASSERT and work like the library functions in messages thay accept are routed and thresholded but in addition the macros can be disabled at compile time and not take up any space in the production code.
 

Quick Start.
To begin using the library simply follow the example code below:

int main()
{
    Llog_setlvl(LL_DEBUG);
    Llog_debug("Hello World, I can count %d, %d, %d\n", 1, 2, 3);
    exit(0);
}


The Functions:
There are to groups of functions.  The first called "Setup Functions" below are used to tell the Llog library what to do.  There are reasonable default setting so you don't need to call any of these unless you don't like the defaulf settings.  The next set called "Logging Functions" is what you would typically sprinkle throughout your program.  Notice that these functions accept a variable number of arguments much like fprintf() does.  These is also a set of debugging macros supplied.  The macros use the loging functions so theirmessages are subjected to the same thresholding and routing logic but the marcos my be completely removed by definnning LLOG_NODEBUG when compiling.

Setup Funtions
Logging Funtions


Alphabitical Listing