मैं लॉगिंग के लिए पृष्ठभूमि कार्यकर्ता के साथ संयोजन में एक स्ट्रीमराइटर का उपयोग कर रहा हूं।मैं कैसे बता सकता हूं कि एक स्ट्रीमराइटर बंद है या नहीं?
इस तरह के रूप में, मैं DoStuff() विधि प्रगति ईवेंट उत्पन्न में
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();
}
बातें की है।
System::Void
MyUI::execBWorker_ProgressChanged(System::Object^ sender, System::ComponentModel::ProgressChangedEventArgs^ e) {
logfile_->WriteLine("something");
}
मुझे लगता है कि यह वास्तव में गंध करता है। मैं इसे बेहतर कैसे बना सकता हूं, या कम से कम मैं लॉगफाइल को कैसे बंद कर सकता हूं? बहुत सारे संदेश हैं, इसलिए मैं लगातार लॉगफाइल खोलने और बंद करने के बारे में चिंतित हूं।
कूल - तकनीकी भाग का जवाब दें। – Melanie
@Melanie: 'फ़ाइल :: AppendText' आपके मामले में उपयोगी हो सकता है। – leppie