www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - simple logging

Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Yet another source post of mine, those who find it useful let me know 
how I can improve it.

Simple lightweight(150 lines) logging facility, direct and works fairly 
well for me.

Main function is

void  Log( char[] id, ... )

which takes the name of the logfile, and the rest is formatted just like 

There are a few shortcuts predefined:
void LogInfo( ... )
void LogWarning( ... )
void LogFatal( ... )

There is also:

which simply spews info about each log to stdout.

You can set the logging directory, buffer size, and Flush all logs with:
void  SetLoggingDir( char[] dir )
void  SetLogBufferSize( uint sz )
void  SetLogBufferSize( char[] id, uint sz )

If you want to keep log file to a minimum use:
void  SetMaxLogSize( uint sz )

There is probably a lot to make better, but I wrote this a while back, 
and it hasn't given me any problems.

The main feature maybe needed is to null out the Logging if not in debug 

Untested outside Win32.
Public Domain.
Apr 04 2006