Я использую streamwriter в сочетании с фоновым рабочим, для ведения журнала.
Таким образом, я
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");
}
Я думаю, что это действительно пахнет. Как я могу сделать это лучше, или, по крайней мере, как я могу проверить, что файл журнала не был закрыт? Существует много сообщений, поэтому я обеспокоен открытием и закрытием журнала.