ロギングのために、バックグラウンドワーカーと組み合わせてストリームライターを使用しています。
そういうものとして、私は
System::Void
MyUI::execBWorker_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) {
String^ outputPath = _clr::Settings::ApplicationLogPath("_log.txt", true, false);
logfile_ = gcnew StreamWriter(outputPath,true);
DoStuff();
logfile_->Close();
}
DoStuff()メソッド内のものは、Progressイベントを発生させます。
System::Void
MyUI::execBWorker_ProgressChanged(System::Object^ sender, System::ComponentModel::ProgressChangedEventArgs^ e) {
logfile_->WriteLine("something");
}
これは本当ににおいがすると思います。どうすれば改善できますか、または少なくともログファイルが閉じられていないことを確認するにはどうすればよいですか?メッセージが多いので、ログファイルを連続して開いたり閉じたりするのが気になります。