Здравствуйте, vitcpp, Вы писали:
A>>>Есть желание логировать все сообщения в программе в файл определено складывая данные. A>>>Если данные записываются в cerr с помощью потоков std::cerr<< A>>>Нет ли более изящного способа и чтоб работал и под linux и под windows с компилятором mingw?
J>>Имхо, самое простое и правильное — это запускать программу скриптом, который выполнит перенаправление куда надо.
V>Я в свое время написал тривиальную программу под linux на C, которая перенаправляла стандартные потоки в указанные при запуске пайпы, а потом делала exec без форка. Для моего случая этот подход оказался лучше, чем применение скриптов, так как в этом случае не требуется запуска еще одного процесса — скриптового интерпретатора.
Так все равно надо настраивать окружение для программы, чтоб она корректно работала... Можно, конечно, через конфиг-файлы (хотя как ты какой-нть нужный для старта LD_LIBRARY_PATH в конфиг засунешь), но мне как-то привычнее нарулить все настройки в стартовом скрипте (потому что скрипт — это программа, а не просто куча настроек, как в конфиг-файле, т.е. эти настройки в скрипте можно как-то хитро генерить и т.п.). Ну и там же можно выполнить (опционально) любое перенаправление, запустить программу (опционально) под отладчиком и прочая и прочая. Удобно и гибко.