Войти
ПрограммированиеПодсказкиОбщее

Удобное ведение лога с перенаправлением, при миниуме строк

Автор:

Все наверно знают что в 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