On Tuesday, 6 August 2013 at 04:35:39 UTC, Andre Artus wrote:
What is the recommended approach for adding logging and tracing to D apps?
Is there a library for it?

custom very simple yet powerful logging can be achieved with templates and debug specifier, something like this:
--------------------
module logger;
import std.datetime;
import std.stdio : writefln;

template log(T) {
 auto timeString = Clock.currTime().toISOExtString();
writefln("log message from(%s)[+%s]: %s", __FUNCTION__, timeString, T);
}
--------------------

then in ur code just place with debug specifier:
--------------------
import logger;

void main {
 debug log!"my stuff";
}
--------------------

and you get pretty formatted message in console(add log file writer if needed), and you get "smart" logging for free, in that way it will be generated only for debug mode(in release it will be skipped because of debug specifier).

Reply via email to