Logging goes to std::cout and errors got to std::cerr (that is as it should be). During non-interactive running, output is buffered so that std::cout and std::cerr output is out of sequence. Since errors mark fixed points in the code where something is going wrong, they should make sure that cout is flushed before making the error output.
Logging goes to std::cout and errors got to std::cerr (that is as it should be). During non-interactive running, output is buffered so that std::cout and std::cerr output is out of sequence. Since errors mark fixed points in the code where something is going wrong, they should make sure that cout is flushed before making the error output.