ログ出力

ちょっとでも規模の大きいプログラムをPC上で作った事がある人ならログ出力したことあると思うけど。

みなさんはどうしてますか?

コンソールアプリだとそのまま標準出力という人が多いのかな。
GUIだと使用するライブラリによっては標準出力が大変ってこともあるけど。
まぁこれは主にWIndowsの事を指してるんだけど。でもその分WindowsのVisualStudio付属のデバッガはGUIで便利だしログはいらないかな(そんな事はないか)。

で,僕はC++だとログは次のようにやってます。例えばある処理をする関数に対して

void Test(std::ostream& out, InputData& input)
{
  // 処理
  out << "Log : ...";
}

こうしておいてとりあえず作ってる最中は最初の引数にstd::coutを入れておいて。
完成度がたかまったらsstreamを入れます。
それでログファイルなりなんなりにまとめて出力かな。

sstreamに切り替えるようにしておけばその後GUIに部品だけもっていってもログだすの楽だし。