LINUX.ORG.RU

C++ перезагрузка cout и сerr


0

0

Столкнулся вот с такой проблемой. Есть некая довольно большая программа, написанная достаточно давно которая весю информацию которая должна логироваться валит на stdout и stderr.

Допустим программа работает час, а лог файл нужно делать новый каждую минуту, тоесть простая запись стандартных выходов в файл методами bash не канает.

Вопрос такой, можно ли как-то внутри программы перенаправить потоки cout и сerr в другой поток?

Спасибо.


Может помочь тотальная замена в текстах cout и cerr на my_cout my_cerr. А уж в них пишите куда надо и как надо.

anonymous
()

> тоесть простая запись стандартных выходов в файл методами bash не канает.

Почему это? Перенаправляй в какой-нибудь промежуточный logrotate, а уж он будет резать по файлам.

Reset ★★★★★
()
Ответ на: комментарий от Reset

И действительно! Спасибо большое как это я сам не догадался!

За dup тоже спасибо. Пригодится еще.

ibm
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.