DWT2 Phobos-compatible logging suggestion

torhu no at spam.invalid
Wed Jul 14 05:45:34 PDT 2010

On 14.07.2010 11:56, Jacob Carlborg wrote:
> On 2010-07-13 23.00, torhu wrote:
>>  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:
>>  http://pastebin.ca/1900029
>>  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.
> Seems good, just a question: what is this diff against? Is it to your
> own branch or to the DWT2 main branch? I don't see a version condition
> in ExceptionPrintStackTrace in the DWT2 main branch for example.

Yes, it's my own branch.

More information about the Digitalmars-d-dwt mailing list