Im not sure why exsctly you would prefer this over just a few overloads of "operator<<"?
Why is it all macros? That seems ancient. Again, you could do this more cleanly with concepts and a templated operator<<, which then also supports more than just std::clog (fmt/std::format will happily use operator<< for example)