DWT2 Phobos-compatible logging suggestion

torhu no at spam.invalid
Tue Jul 13 14:00:26 PDT 2010

Ok, this is sort my way to get some cooperation going on the DWT 
project.  Check it out and make suggestions for improvements, or just 
say "ok" if you approve :)

I've been trying for a couple of hours to find a way to do logging 
that's compatible with both Phobos and Tango.

Here's what I came up with, this is tested and working:

This is what I had to take into consideration:

1) Phobos formatting uses functions like format(...), while tango uses 
format(char[] fmt, ...).  Using the signature func(T...)(String fmt, T 
args) was the simplest way I found to be able to just forward arguments 
to both kinds of formatters.

2) Format specifiers are different.  I just did fmt = replace(fmt, "{}", 
"%s") in the Phobos version, which takes care of most cases.  We can 
revisit this later if there's an actual need for more flexible formatting.

3) The IDwtLogger interface had to go, as template member functions 
cannot be virtual. Cfr. item 1.  The interface was not put to use 
anywhere, so this should be of no concern.

4) ExceptionPrintStackTrace has become less flexible, but this shouldn't 
matter and can easily be fixed if needed.

More information about the Digitalmars-d-dwt mailing list