On Wednesday, 18 September 2019 at 01:03:27 UTC, Nicholas Wilson wrote:

I think a mixin that does

string LOG_SCOPE = q{
callDepth++;
scope(exit) callDepth--;
}

is probably the easiest. for bonus points

string LOG_SCOPE = q{
callDepth++;
debug_log(__FUNCTION__);// or __PRETTY_FUNTION__
scope(exit) callDepth--;
}

and the mixin(LOG_SCOPE);

Yes that's what I meant sort of the mixin (where we can also put local scope inside etc.).

I mean you _could_ do some UDA reflection to generate wrapping function that do the indentation, bit that is overkill.

Interesting, I didn't know about that. I didn't completely get it but I get
that it seems the easier way to do it is the mixin.

Thanks,
Stefanos

Reply via email to