Hello?
Couldn't it be just like this?
enum log_level {
note, // or info whatever
warning,
error,
fatal,
}
string log_direct(string filename); // returns last log file directed.
void log(A...)(A a)
{
if(typof(a[0]) == log_level)
do_level_thingy();
... // rest.
}
version(debug) void debug_log(A...)(A a) { log(a); }
else void debug_log(A...)(A a) {}
void main()
{
std::string old_file = log_direct(new_file); // if you like to change
it that is
log("log me pretty", arg1, ....);
log(error, "log me pretty error", arg1, ...);
log(warning, "log me pretty warning", arg1, ...);
}
Isn't that good/beautiful/flexible enough?
Please don't start with instantiated loggers, they are ugly so ugly and
unnecessary!
Thanks.
Damn i should learn to read it a few times before posting!
"Hello?"
Hello!
"ugly so ugly"
one of them would do i guess :)
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/