Std Phobos 2 and logging library?
Adam D. Ruppe
destructionator at gmail.com
Fri Apr 10 09:41:10 PDT 2009
On Fri, Apr 10, 2009 at 09:20:46AM -0700, Andrei Alexandrescu wrote:
> If anyone has ideas and/or code to contribute, that would be great.
I never understood why they should be complicated. Couldn't you just do
something like (pseudocodeish):
======
enum LogLevel { Verbose, Warning, Error }
FILE* logStream;
LogLevel currentLevel
// We need to open the log file ahead of time; this might be from command
// line args in a real program.
static this() {
logStream = stderr; // or fopen("log", "wt"); or whatever
currentLevel = LogLevel.Verbose;
}
static ~this() {
fclose(logStream);
}
void log(LogLevel message, formatted message...) {
if( currentLevel >= message) {
logStream.writef("%s: ", currentTime() );
logStream.writefln(formatted message....);
}
}
void fun() {
log(LogLevel.Verbose, "Entering function %s", __FUNCTION__);
if ( crap )
log(LogLevel.Error, "Crap happened!"
}
=======
Does it really need to be much more complex than that?
>
> Andrei
--
Adam D. Ruppe
http://arsdnet.net
More information about the Digitalmars-d
mailing list