I'm struggling to understand pros and cons of the C++ and C approaches to console output. C++ uses the stream approach with concatenation of operator<<, while for "C approach" I mean a print function taking as arguments a string with placeholders and values to be substituted to placeholders.
While I like the C++ approach I see that many logging libraries for C++ (e.g. spdlog) use the C approach; this makes me think that something with the C++ approach might be considered wrong by several people, but I cannot figure out what.