Удобное ведение лога с перенаправлением, при миниуме строк
Автор: Денис Овод
Все наверно знают что в STL есть кроме std::cout еще например и std::cerr, std::clog а так же их версии с поддержкой wchar. Все, что осталось - заставить стандартные потоки писать в нужное нам место. А это сделать очень легко, например:
main() { using namespace std; ofstream log( "log.txt"); clog.rdbuf( log.rdbuf( )); Application *ap = new Application( ); clog << "Starting application ..." << endl; ap->Run( ); delete ap; log.close( ); // внимание здесь файл уже закрыт ! }
Так же легко использовать нужное форматирование вывода совместно со стандартными потоками. Для этого рекомендую поискать обьявление std::endl.
25 марта 2006