Есть желание логировать все сообщения в программе в файл определено складывая данные.
Если данные записываются в cerr с помощью потоков std::cerr<<
тут решение я нашел можно у потока cerr сменить буфер и делать с сообщениями что угодно.
Но у меня есть проблема в том что есть некоторые библиотеки собранные другим компилятором, то есть Runtime у этой либы свой и такой прием не работает.
в nix можно перенаправить поток ошибок с помощью функции dup2, но хотелось бы иметь возможность еще форматировать этот вывод, то есть лучше всего иметь функцию которая вызывается при записи данных в cerr.
в nix опыть же можно использовать pipe и fork для отлова таких сообщений, в винде fork нету, так что этот способ не работает.
Нет ли более изящного способа и чтоб работал и под linux и под windows с компилятором mingw?